Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorsgerard2010-06-18 15:15:09 +0000
committersgerard2010-06-18 15:15:09 +0000
commitedd367ce2b7bd217c0bd1728c406d512b75156bb (patch)
treef6f1152b83254ce64d732ccaae201a0ae8869782 /doc
parent74b925deef92c1c14c75c4cd97362318e5b5e17a (diff)
downloadorg.eclipse.papyrus-edd367ce2b7bd217c0bd1728c406d512b75156bb.tar.gz
org.eclipse.papyrus-edd367ce2b7bd217c0bd1728c406d512b75156bb.tar.xz
org.eclipse.papyrus-edd367ce2b7bd217c0bd1728c406d512b75156bb.zip
Refactoring of Papyrus documentions.
Diffstat (limited to 'doc')
-rw-r--r--doc/DevelopperDocuments/architecture/.project11
-rw-r--r--doc/DevelopperDocuments/architecture/CommandStackFramework.di59
-rw-r--r--doc/DevelopperDocuments/architecture/CommandStackFramework.notation4559
-rw-r--r--doc/DevelopperDocuments/architecture/CommandStackFramework.uml17394
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_images/.directory3
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_images/PapyrusCore.jpegbin0 -> 27803 bytes
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_images/PapyrusCoreContentoutline.jpegbin0 -> 92278 bytes
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_images/PapyrusCoreEditor.jpegbin0 -> 291070 bytes
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_images/PapyrusCoreExtension.jpegbin0 -> 63971 bytes
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_images/PapyrusCoreExtensionCommands.jpegbin0 -> 114742 bytes
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_images/PapyrusCoreExtensionDiagrameditor.jpegbin0 -> 236305 bytes
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_images/PapyrusCoreExtensionEditorContext.jpegbin0 -> 135312 bytes
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_images/PapyrusCoreListenerService.jpegbin0 -> 34301 bytes
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_images/PapyrusCoreMultidiagramActionbarcontributor.jpegbin0 -> 143495 bytes
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_images/PapyrusCoreServices.jpegbin0 -> 172098 bytes
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_images/PapyrusCoreUtils.jpegbin0 -> 271828 bytes
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_models/.directory3
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_models/PapyrusCore.uml1611
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_models/PapyrusCore.uml_diagram5336
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_models/PapyrusCoreContentOutline.uml79
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_models/PapyrusCoreEditor.uml299
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_models/PapyrusCoreExtension.uml64
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_models/PapyrusCoreExtensionCommands.uml113
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_models/PapyrusCoreExtensionDiagrameditor.uml234
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_models/PapyrusCoreExtensionEditorcontext.uml128
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_models/PapyrusCoreListenerservice.uml54
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_models/PapyrusCoreMultidiagramActionbarcontributor.uml116
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_models/PapyrusCoreServices.uml195
-rw-r--r--doc/DevelopperDocuments/architecture/papyrus_org.eclipse.papyrus.core_architecture/diagram_models/PapyrusCoreUtils.uml372
-rw-r--r--doc/DevelopperDocuments/architecture/reversePII.di218355
-rw-r--r--doc/DevelopperDocuments/architecture/reversePII.uml33956
-rw-r--r--doc/DevelopperDocuments/architecture/sashAndCoreArchitecture.docbin0 -> 781312 bytes
32 files changed, 82941 insertions, 0 deletions
diff --git a/doc/DevelopperDocuments/architecture/.project b/doc/DevelopperDocuments/architecture/.project
new file mode 100644
index 00000000000..287d36fa85e
--- /dev/null
+++ b/doc/DevelopperDocuments/architecture/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>architecture</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription>
diff --git a/doc/DevelopperDocuments/architecture/CommandStackFramework.di b/doc/DevelopperDocuments/architecture/CommandStackFramework.di
new file mode 100644
index 00000000000..db6f31361f9
--- /dev/null
+++ b/doc/DevelopperDocuments/architecture/CommandStackFramework.di
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="ASCII"?>
+<di:SashWindowsMngr xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.eclipse.org/papyrus/0.7.0/sashdi" xmi:id="_HM3P4HOxEd-nKvj-XTCBkg">
+ <pageList xmi:id="_HM3P4XOxEd-nKvj-XTCBkg">
+ <availablePage xmi:id="_JJIvU3OxEd-nKvj-XTCBkg">
+ <emfPageIdentifier href="CommandStackFramework.notation#_JJIvUXOxEd-nKvj-XTCBkg"/>
+ </availablePage>
+ <availablePage xmi:id="_-mbtIHPSEd-NtftfyF3YZw">
+ <emfPageIdentifier href="CommandStackFramework.notation#_-mR8IHPSEd-NtftfyF3YZw"/>
+ </availablePage>
+ <availablePage xmi:id="_CcxXkncrEd-96YWU42lBhw">
+ <emfPageIdentifier href="CommandStackFramework.notation#_CcxXkHcrEd-96YWU42lBhw"/>
+ </availablePage>
+ <availablePage xmi:id="_h5HiUHcuEd-96YWU42lBhw">
+ <emfPageIdentifier href="CommandStackFramework.notation#_h49xUHcuEd-96YWU42lBhw"/>
+ </availablePage>
+ <availablePage xmi:id="_niRpknc2Ed-96YWU42lBhw">
+ <emfPageIdentifier href="CommandStackFramework.notation#_niRpkHc2Ed-96YWU42lBhw"/>
+ </availablePage>
+ <availablePage xmi:id="_EijfQHeiEd-udeJ8hQXrBA">
+ <emfPageIdentifier href="CommandStackFramework.notation#_EiaVUHeiEd-udeJ8hQXrBA"/>
+ </availablePage>
+ <availablePage xmi:id="_EQr2wHlQEd-G1sP92iSIng">
+ <emfPageIdentifier href="CommandStackFramework.notation#_EQY70HlQEd-G1sP92iSIng"/>
+ </availablePage>
+ <availablePage xmi:id="_Rg9SonlTEd-G1sP92iSIng">
+ <emfPageIdentifier href="CommandStackFramework.notation#_Rg9SoHlTEd-G1sP92iSIng"/>
+ </availablePage>
+ </pageList>
+ <sashModel xmi:id="_HM3P4nOxEd-nKvj-XTCBkg" currentSelection="_HM3P5HOxEd-nKvj-XTCBkg">
+ <windows xmi:id="_HM3P43OxEd-nKvj-XTCBkg">
+ <children xsi:type="di:TabFolder" xmi:id="_HM3P5HOxEd-nKvj-XTCBkg">
+ <children xmi:id="_JJIvVHOxEd-nKvj-XTCBkg">
+ <emfPageIdentifier href="CommandStackFramework.notation#_JJIvUXOxEd-nKvj-XTCBkg"/>
+ </children>
+ <children xmi:id="_CcxXk3crEd-96YWU42lBhw">
+ <emfPageIdentifier href="CommandStackFramework.notation#_CcxXkHcrEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:id="_h5HiUXcuEd-96YWU42lBhw">
+ <emfPageIdentifier href="CommandStackFramework.notation#_h49xUHcuEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:id="_-mbtIXPSEd-NtftfyF3YZw">
+ <emfPageIdentifier href="CommandStackFramework.notation#_-mR8IHPSEd-NtftfyF3YZw"/>
+ </children>
+ <children xmi:id="_niRpk3c2Ed-96YWU42lBhw">
+ <emfPageIdentifier href="CommandStackFramework.notation#_niRpkHc2Ed-96YWU42lBhw"/>
+ </children>
+ <children xmi:id="_EijfQXeiEd-udeJ8hQXrBA">
+ <emfPageIdentifier href="CommandStackFramework.notation#_EiaVUHeiEd-udeJ8hQXrBA"/>
+ </children>
+ <children xmi:id="_EQr2wXlQEd-G1sP92iSIng">
+ <emfPageIdentifier href="CommandStackFramework.notation#_EQY70HlQEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:id="_Rg9So3lTEd-G1sP92iSIng">
+ <emfPageIdentifier href="CommandStackFramework.notation#_Rg9SoHlTEd-G1sP92iSIng"/>
+ </children>
+ </children>
+ </windows>
+ </sashModel>
+</di:SashWindowsMngr>
diff --git a/doc/DevelopperDocuments/architecture/CommandStackFramework.notation b/doc/DevelopperDocuments/architecture/CommandStackFramework.notation
new file mode 100644
index 00000000000..535f0d6f180
--- /dev/null
+++ b/doc/DevelopperDocuments/architecture/CommandStackFramework.notation
@@ -0,0 +1,4559 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML">
+ <notation:Diagram xmi:id="_JJIvUXOxEd-nKvj-XTCBkg" type="PapyrusUMLClassDiagram" name="ICommand" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_Kkiw0HPGEd-bh5e9e7eOjw" type="2004" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Kkr6wHPGEd-bh5e9e7eOjw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Kkr6wXPGEd-bh5e9e7eOjw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Kk1rwHPGEd-bh5e9e7eOjw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Kk1rwXPGEd-bh5e9e7eOjw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_f-WtYHPOEd-NtftfyF3YZw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_f-WtYXPOEd-NtftfyF3YZw" key="QualifiedNameDepth" value="3"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Kk1rxHPGEd-bh5e9e7eOjw" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Kk1rxXPGEd-bh5e9e7eOjw" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Kk1rxnPGEd-bh5e9e7eOjw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Kk1rx3PGEd-bh5e9e7eOjw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Kk1ryHPGEd-bh5e9e7eOjw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Kk1ryXPGEd-bh5e9e7eOjw" type="7007">
+ <children xmi:type="notation:Shape" xmi:id="_kRi2UHPNEd-NtftfyF3YZw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_HLRu8XPGEd-bh5e9e7eOjw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kRi2UXPNEd-NtftfyF3YZw" x="48" y="11"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kTVmEHPNEd-NtftfyF3YZw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_HLIlAHPGEd-bh5e9e7eOjw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kTfXEHPNEd-NtftfyF3YZw" x="48" y="11"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kTySAHPNEd-NtftfyF3YZw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_HLIlCXPGEd-bh5e9e7eOjw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kTySAXPNEd-NtftfyF3YZw" x="48" y="11"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kUO98HPNEd-NtftfyF3YZw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_HLIlBHPGEd-bh5e9e7eOjw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kUO98XPNEd-NtftfyF3YZw" x="48" y="11"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kUYH4HPNEd-NtftfyF3YZw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_HLRu9HPGEd-bh5e9e7eOjw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kUYH4XPNEd-NtftfyF3YZw" x="48" y="11"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Kk1rynPGEd-bh5e9e7eOjw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Kk1ry3PGEd-bh5e9e7eOjw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Kk1rzHPGEd-bh5e9e7eOjw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Kk1rzXPGEd-bh5e9e7eOjw" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Kk1rznPGEd-bh5e9e7eOjw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Kk1rz3PGEd-bh5e9e7eOjw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Kk1r0HPGEd-bh5e9e7eOjw"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_HK-0B3PGEd-bh5e9e7eOjw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Kkiw0XPGEd-bh5e9e7eOjw" x="146" y="356" width="343" height="239"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_g1AeAHPNEd-NtftfyF3YZw" type="2004" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_g1KPAHPNEd-NtftfyF3YZw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_g1KPAXPNEd-NtftfyF3YZw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_g1KPAnPNEd-NtftfyF3YZw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_g1KPA3PNEd-NtftfyF3YZw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BFB94HPQEd-NtftfyF3YZw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BFB94XPQEd-NtftfyF3YZw" key="QualifiedNameDepth" value="3"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_g1KPBnPNEd-NtftfyF3YZw" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_g1KPB3PNEd-NtftfyF3YZw" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_g1KPCHPNEd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_g1KPCXPNEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g1KPCnPNEd-NtftfyF3YZw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_g1KPC3PNEd-NtftfyF3YZw" type="7007">
+ <children xmi:type="notation:Shape" xmi:id="_njDqYHPNEd-NtftfyF3YZw" type="3007" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1sqXcHPPEd-NtftfyF3YZw" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Hot8HPPEd-NtftfyF3YZw" key="CustomAppearance_MaskValue" value="778"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_fXmVnHOxEd-nKvj-XTCBkg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_njDqYXPNEd-NtftfyF3YZw" x="51" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_njWlUHPNEd-NtftfyF3YZw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_fXwGknOxEd-nKvj-XTCBkg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_njWlUXPNEd-NtftfyF3YZw" x="51" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_njzRQHPNEd-NtftfyF3YZw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_fXmVonOxEd-nKvj-XTCBkg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_njzRQXPNEd-NtftfyF3YZw" x="51" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_nkP9MHPNEd-NtftfyF3YZw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_fXdLonOxEd-nKvj-XTCBkg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nkP9MXPNEd-NtftfyF3YZw" x="51" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_nkspIHPNEd-NtftfyF3YZw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_fXmVl3OxEd-nKvj-XTCBkg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nkspIXPNEd-NtftfyF3YZw" x="51" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_nlJVEHPNEd-NtftfyF3YZw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_fXmVlHOxEd-nKvj-XTCBkg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nlJVEXPNEd-NtftfyF3YZw" x="51" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_nmCs8HPNEd-NtftfyF3YZw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_fXmVp3OxEd-nKvj-XTCBkg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nmCs8XPNEd-NtftfyF3YZw" x="51" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_nmoi0HPNEd-NtftfyF3YZw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_fXmVrnOxEd-nKvj-XTCBkg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nmoi0XPNEd-NtftfyF3YZw" x="51" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_nnYJsHPNEd-NtftfyF3YZw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_fXmVs3OxEd-nKvj-XTCBkg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nnYJsXPNEd-NtftfyF3YZw" x="51" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_nn01oHPNEd-NtftfyF3YZw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_fXmVqnOxEd-nKvj-XTCBkg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nn01oXPNEd-NtftfyF3YZw" x="51" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_noRhkHPNEd-NtftfyF3YZw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_fXdLpXOxEd-nKvj-XTCBkg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_noRhkXPNEd-NtftfyF3YZw" x="51" y="6"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_g1KPDHPNEd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_g1KPDXPNEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g1KPDnPNEd-NtftfyF3YZw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_g1KPD3PNEd-NtftfyF3YZw" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_g1KPEHPNEd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_g1KPEXPNEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g1KPEnPNEd-NtftfyF3YZw"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_QJNf2HOxEd-nKvj-XTCBkg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g1AeAXPNEd-NtftfyF3YZw" x="153" y="16" width="336" height="269"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_qiLmkHPQEd-NtftfyF3YZw" type="2004" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qiLmknPQEd-NtftfyF3YZw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qiLmk3PQEd-NtftfyF3YZw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qiLmlHPQEd-NtftfyF3YZw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qiLmlXPQEd-NtftfyF3YZw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_y5SbcHPQEd-NtftfyF3YZw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y5SbcXPQEd-NtftfyF3YZw" key="QualifiedNameDepth" value="3"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_qiLmmHPQEd-NtftfyF3YZw" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_qiLmmXPQEd-NtftfyF3YZw" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_qiLmmnPQEd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_qiLmm3PQEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qiLmnHPQEd-NtftfyF3YZw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_qiLmnXPQEd-NtftfyF3YZw" type="7007">
+ <children xmi:type="notation:Shape" xmi:id="_tuejcHPQEd-NtftfyF3YZw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_HLlQ8nPGEd-bh5e9e7eOjw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tuejcXPQEd-NtftfyF3YZw" x="72" y="7"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tvFAYHPQEd-NtftfyF3YZw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_HLlQ9XPGEd-bh5e9e7eOjw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tvFAYXPQEd-NtftfyF3YZw" x="72" y="7"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tvhsUHPQEd-NtftfyF3YZw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_HLlQ_nPGEd-bh5e9e7eOjw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tvhsUXPQEd-NtftfyF3YZw" x="72" y="7"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tvq2QHPQEd-NtftfyF3YZw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_HLlQ-HPGEd-bh5e9e7eOjw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tvq2QXPQEd-NtftfyF3YZw" x="72" y="7"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tv-YQHPQEd-NtftfyF3YZw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_HLbf9nPGEd-bh5e9e7eOjw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tv-YQXPQEd-NtftfyF3YZw" x="72" y="7"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_twHiMHPQEd-NtftfyF3YZw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_HLlQ-3PGEd-bh5e9e7eOjw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_twHiMXPQEd-NtftfyF3YZw" x="72" y="7"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_twadIHPQEd-NtftfyF3YZw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_HLbf83PGEd-bh5e9e7eOjw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_twadIXPQEd-NtftfyF3YZw" x="72" y="7"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_qiLmnnPQEd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_qiLmn3PQEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qiLmoHPQEd-NtftfyF3YZw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_qiLmoXPQEd-NtftfyF3YZw" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_qiLmonPQEd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_qiLmo3PQEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qiLmpHPQEd-NtftfyF3YZw"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_HLbf8HPGEd-bh5e9e7eOjw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qiLmkXPQEd-NtftfyF3YZw" x="159" y="663" width="334" height="344"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_B2Fx8HPREd-NtftfyF3YZw" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_B2Fx83PREd-NtftfyF3YZw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_B2Fx9HPREd-NtftfyF3YZw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_B2Fx9XPREd-NtftfyF3YZw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_B2Fx9nPREd-NtftfyF3YZw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_B2Fx93PREd-NtftfyF3YZw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_B2Fx-HPREd-NtftfyF3YZw" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_B2Fx-XPREd-NtftfyF3YZw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_B2Fx-nPREd-NtftfyF3YZw" type="7017">
+ <children xmi:type="notation:Shape" xmi:id="_DkNgoHPREd-NtftfyF3YZw" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_7_B38HPQEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_DkNgoXPREd-NtftfyF3YZw" x="51" y="7"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_DmTLUHPREd-NtftfyF3YZw" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_7_B383PQEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_DmTLUXPREd-NtftfyF3YZw" x="51" y="7"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_B2Fx-3PREd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_B2Fx_HPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_B2Fx_XPREd-NtftfyF3YZw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_B2Fx_nPREd-NtftfyF3YZw" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_FhYX8HPREd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_7_B39HPQEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FhYX8XPREd-NtftfyF3YZw" x="70" y="4"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Fi3lsHPREd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_7_ej43PQEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Fi3lsXPREd-NtftfyF3YZw" x="70" y="4"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_FjURoHPREd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_7_LB4nPQEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FjURoXPREd-NtftfyF3YZw" x="70" y="4"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_FjnMkHPREd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_7_Uy43PQEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FjnMkXPREd-NtftfyF3YZw" x="70" y="4"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_FkD4gHPREd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_7_nt1nPQEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FkD4gXPREd-NtftfyF3YZw" x="70" y="4"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_FkWzcHPREd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_7_Uy5XPQEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FkWzcXPREd-NtftfyF3YZw" x="70" y="4"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_FkzfYHPREd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_7_nt1XPQEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FkzfYXPREd-NtftfyF3YZw" x="70" y="4"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_FlGaUHPREd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_7_Uy4HPQEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FlGaUXPREd-NtftfyF3YZw" x="70" y="4"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_FlZ8UHPREd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_7_ej7XPQEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FlZ8UXPREd-NtftfyF3YZw" x="70" y="4"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_B2Fx_3PREd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_B2FyAHPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_B2FyAXPREd-NtftfyF3YZw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_B2FyAnPREd-NtftfyF3YZw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_B2FyA3PREd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_B2FyBHPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_B2FyBXPREd-NtftfyF3YZw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_B2Fx8XPREd-NtftfyF3YZw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_7-bbAHPQEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_B2Fx8nPREd-NtftfyF3YZw" x="753" y="354" width="286" height="247"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Tc6esHPREd-NtftfyF3YZw" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Tc6es3PREd-NtftfyF3YZw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Tc6etHPREd-NtftfyF3YZw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Tc6etXPREd-NtftfyF3YZw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Tc6etnPREd-NtftfyF3YZw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Tc6et3PREd-NtftfyF3YZw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Tc6euHPREd-NtftfyF3YZw" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Tc6euXPREd-NtftfyF3YZw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Tc6eunPREd-NtftfyF3YZw" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Tc6eu3PREd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Tc6evHPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tc6evXPREd-NtftfyF3YZw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Tc6evnPREd-NtftfyF3YZw" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_Vgya8HPREd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_RqoBsnPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vgya8XPREd-NtftfyF3YZw" x="71" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_VhiB0HPREd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_RqoBtHPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VhiB0XPREd-NtftfyF3YZw" x="71" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ViIewHPREd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_Rq68o3PREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ViIewXPREd-NtftfyF3YZw" x="71" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vi4FoHPREd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_RqoBsHPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vi4FoXPREd-NtftfyF3YZw" x="71" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_VjUxkHPREd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_RrN3kXPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VjUxkXPREd-NtftfyF3YZw" x="71" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vj6ncHPREd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_RqeQsnPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vj6ncXPREd-NtftfyF3YZw" x="71" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_VkXTYHPREd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_RrhZlXPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VkXTYXPREd-NtftfyF3YZw" x="71" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vk9wUHPREd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_RrEtoXPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vk9wUXPREd-NtftfyF3YZw" x="71" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_VlacQHPREd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_RqxLoHPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VlacQXPREd-NtftfyF3YZw" x="71" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vl3IMHPREd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_RqxLoXPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vl3IMXPREd-NtftfyF3YZw" x="71" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vmc-EHPREd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_RrhZkXPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vmc-EXPREd-NtftfyF3YZw" x="71" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vm5qAHPREd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_RrN3lHPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vm5qAXPREd-NtftfyF3YZw" x="71" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_VnWV8HPREd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_RrXok3PREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VnWV8XPREd-NtftfyF3YZw" x="71" y="6"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_VoF80HPREd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_Rq68p3PREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VoF80XPREd-NtftfyF3YZw" x="71" y="6"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Tc6ev3PREd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Tc6ewHPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tc6ewXPREd-NtftfyF3YZw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Tc6ewnPREd-NtftfyF3YZw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Tc6ew3PREd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Tc6exHPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tc6exXPREd-NtftfyF3YZw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_Tc6esXPREd-NtftfyF3YZw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_7-bbAnPQEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tc6esnPREd-NtftfyF3YZw" x="747" y="14" width="280" height="283"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_An5EAHPSEd-NtftfyF3YZw" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AoCN8HPSEd-NtftfyF3YZw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AoCN8XPSEd-NtftfyF3YZw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AoCN8nPSEd-NtftfyF3YZw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AoCN83PSEd-NtftfyF3YZw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AoCN9HPSEd-NtftfyF3YZw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AoCN9XPSEd-NtftfyF3YZw" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AoCN9nPSEd-NtftfyF3YZw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_AoCN93PSEd-NtftfyF3YZw" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_AoCN-HPSEd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_AoCN-XPSEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AoCN-nPSEd-NtftfyF3YZw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_AoCN-3PSEd-NtftfyF3YZw" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_Gszz0HPSEd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_-YPVmnPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Gszz0XPSEd-NtftfyF3YZw" x="91" y="8"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Gt2VoHPSEd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_-ZItcHPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Gt2VoXPSEd-NtftfyF3YZw" x="91" y="8"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GuTBkHPSEd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_-YPVknPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GuTBkXPSEd-NtftfyF3YZw" x="91" y="8"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Gu5egHPSEd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_-YZGm3PREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Gu5egXPSEd-NtftfyF3YZw" x="91" y="8"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GvfUYHPSEd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_-YZGlXPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GvfUYXPSEd-NtftfyF3YZw" x="91" y="8"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GwFxUHPSEd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_-YGLqHPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GwFxUXPSEd-NtftfyF3YZw" x="91" y="8"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GwrnMHPSEd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_-Z4UVnPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GwrnMXPSEd-NtftfyF3YZw" x="91" y="8"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GxITIHPSEd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_-YPVlHPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GxITIXPSEd-NtftfyF3YZw" x="91" y="8"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GxuwEHPSEd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_-YZGmHPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GxuwEXPSEd-NtftfyF3YZw" x="91" y="8"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GyUl8HPSEd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_-YZGoXPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GyUl8XPSEd-NtftfyF3YZw" x="91" y="8"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Gy7C4HPSEd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_-YZGnXPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Gy7C4XPSEd-NtftfyF3YZw" x="91" y="8"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GzXu0HPSEd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_-Yi3k3PREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GzXu0XPSEd-NtftfyF3YZw" x="91" y="8"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Gz9ksHPSEd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_-ZItdXPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Gz9ksXPSEd-NtftfyF3YZw" x="91" y="8"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_G0kBoHPSEd-NtftfyF3YZw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_-YZGknPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_G0kBoXPSEd-NtftfyF3YZw" x="91" y="8"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_AoCN_HPSEd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_AoCN_XPSEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AoCN_nPSEd-NtftfyF3YZw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_AoCN_3PSEd-NtftfyF3YZw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_AoCOAHPSEd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_AoCOAXPSEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AoCOAnPSEd-NtftfyF3YZw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_An5EAXPSEd-NtftfyF3YZw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_-YGLoHPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_An5EAnPSEd-NtftfyF3YZw" x="756" y="649" width="321" height="231"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_npLHMHPSEd-NtftfyF3YZw" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_npLHM3PSEd-NtftfyF3YZw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_npLHNHPSEd-NtftfyF3YZw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_npLHNXPSEd-NtftfyF3YZw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_npLHNnPSEd-NtftfyF3YZw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_npLHN3PSEd-NtftfyF3YZw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_npLHOHPSEd-NtftfyF3YZw" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_npLHOXPSEd-NtftfyF3YZw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_npLHOnPSEd-NtftfyF3YZw" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_npLHO3PSEd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_npLHPHPSEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_npLHPXPSEd-NtftfyF3YZw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_npLHPnPSEd-NtftfyF3YZw" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_npLHP3PSEd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_npLHQHPSEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_npLHQXPSEd-NtftfyF3YZw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_npLHQnPSEd-NtftfyF3YZw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_npLHQ3PSEd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_npLHRHPSEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_npLHRXPSEd-NtftfyF3YZw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_npLHMXPSEd-NtftfyF3YZw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_hwLTgHPSEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_npLHMnPSEd-NtftfyF3YZw" x="755" y="947" width="311" height="185"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_JJIvUnOxEd-nKvj-XTCBkg"/>
+ <element xmi:type="uml:Model" href="CommandStackFramework.uml#_JJIvUHOxEd-nKvj-XTCBkg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_g1514HPNEd-NtftfyF3YZw" type="4002" source="_Kkiw0HPGEd-bh5e9e7eOjw" target="_g1AeAHPNEd-NtftfyF3YZw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_g15143PNEd-NtftfyF3YZw" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_g1515HPNEd-NtftfyF3YZw" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_g1514XPNEd-NtftfyF3YZw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_HK-0CXPGEd-bh5e9e7eOjw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_g1514nPNEd-NtftfyF3YZw" points="[-50, -50, 236, 241]$[-286, -291, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_qiyDgHPQEd-NtftfyF3YZw" type="4002" source="_qiLmkHPQEd-NtftfyF3YZw" target="_Kkiw0HPGEd-bh5e9e7eOjw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_qi70gHPQEd-NtftfyF3YZw" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qi70gXPQEd-NtftfyF3YZw" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_qiyDgXPQEd-NtftfyF3YZw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_HLbf8nPGEd-bh5e9e7eOjw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qiyDgnPQEd-NtftfyF3YZw" points="[0, 0, -317, -475]$[237, 356, -80, -119]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rpaUYHPQEd-NtftfyF3YZw" id="(0.565597667638484,0.9832635983263598)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_B2id4HPREd-NtftfyF3YZw" type="4008" source="_B2Fx8HPREd-NtftfyF3YZw" target="_Kkiw0HPGEd-bh5e9e7eOjw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_B2rn0HPREd-NtftfyF3YZw" visible="false" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_B2rn0XPREd-NtftfyF3YZw" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_B2rn0nPREd-NtftfyF3YZw" visible="false" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_B2rn03PREd-NtftfyF3YZw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_B2id4XPREd-NtftfyF3YZw" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_7-bbBHPQEd-NtftfyF3YZw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_B2id4nPREd-NtftfyF3YZw" points="[0, 0, -317, -475]$[237, 356, -80, -119]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Tdg7oHPREd-NtftfyF3YZw" type="4008" source="_Tc6esHPREd-NtftfyF3YZw" target="_g1AeAHPNEd-NtftfyF3YZw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Tdg7o3PREd-NtftfyF3YZw" visible="false" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Tdg7pHPREd-NtftfyF3YZw" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Tdg7pXPREd-NtftfyF3YZw" visible="false" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Tdg7pnPREd-NtftfyF3YZw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Tdg7oXPREd-NtftfyF3YZw" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_RqLVwXPREd-NtftfyF3YZw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Tdg7onPREd-NtftfyF3YZw" points="[0, 0, -321, -150]$[153, 71, -168, -79]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_dwb88HPREd-NtftfyF3YZw" type="4002" source="_B2Fx8HPREd-NtftfyF3YZw" target="_Tc6esHPREd-NtftfyF3YZw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_dwb883PREd-NtftfyF3YZw" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_dwb89HPREd-NtftfyF3YZw" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_dwb88XPREd-NtftfyF3YZw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_7-bbA3PQEd-NtftfyF3YZw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dwb88nPREd-NtftfyF3YZw" points="[9, -114, -15, 197]$[13, -169, -11, 142]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Aoyb4HPSEd-NtftfyF3YZw" type="4002" source="_An5EAHPSEd-NtftfyF3YZw" target="_B2Fx8HPREd-NtftfyF3YZw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Aoyb43PSEd-NtftfyF3YZw" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Aoyb5HPSEd-NtftfyF3YZw" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Aoyb4XPSEd-NtftfyF3YZw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_-YGLonPREd-NtftfyF3YZw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Aoyb4nPSEd-NtftfyF3YZw" points="[0, 0, -896, -477]$[753, 401, -143, -76]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_LMjVkHPSEd-NtftfyF3YZw" type="4008" source="_An5EAHPSEd-NtftfyF3YZw" target="_qiLmkHPQEd-NtftfyF3YZw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LMjVk3PSEd-NtftfyF3YZw" visible="false" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LMjVlHPSEd-NtftfyF3YZw" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_LMjVlXPSEd-NtftfyF3YZw" visible="false" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LMjVlnPSEd-NtftfyF3YZw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_LMjVkXPSEd-NtftfyF3YZw" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_-YGLo3PREd-NtftfyF3YZw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LMjVknPSEd-NtftfyF3YZw" points="[-160, -1, 430, 3]$[-423, -3, 167, 1]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sV4G4HPSEd-NtftfyF3YZw" id="(0.9940119760479041,0.311046511627907)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_nqEfEHPSEd-NtftfyF3YZw" type="4008" source="_npLHMHPSEd-NtftfyF3YZw" target="_qiLmkHPQEd-NtftfyF3YZw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_nqOQEHPSEd-NtftfyF3YZw" visible="false" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nqOQEXPSEd-NtftfyF3YZw" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_nqOQEnPSEd-NtftfyF3YZw" visible="false" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nqOQE3PSEd-NtftfyF3YZw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_nqEfEXPSEd-NtftfyF3YZw" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_hwLThHPSEd-NtftfyF3YZw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nqEfEnPSEd-NtftfyF3YZw" points="[0, 0, -326, -760]$[284, 663, -42, -97]"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_-mR8IHPSEd-NtftfyF3YZw" type="PapyrusUMLClassDiagram" name="gmf Transactional Command" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="__JTJoHPSEd-NtftfyF3YZw" type="2008" fontHeight="8" fillColor="12560536" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__JTJo3PSEd-NtftfyF3YZw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__JTJpHPSEd-NtftfyF3YZw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__JTJpXPSEd-NtftfyF3YZw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__JTJpnPSEd-NtftfyF3YZw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_D_hldHh4Ed-ECKyh8Dg6Wg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_D_hldXh4Ed-ECKyh8Dg6Wg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="__JTJqXPSEd-NtftfyF3YZw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="__JTJqnPSEd-NtftfyF3YZw" type="7017">
+ <children xmi:type="notation:Shape" xmi:id="_U5YCAHh5Ed-ECKyh8Dg6Wg" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_5gP2cHPSEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_U5YCAXh5Ed-ECKyh8Dg6Wg" x="148" y="7"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_WK4tMHh5Ed-ECKyh8Dg6Wg" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_5gGFcnPSEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_WK4tMXh5Ed-ECKyh8Dg6Wg" x="86" y="14"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__JTJq3PSEd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__JTJrHPSEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__JTJrXPSEd-NtftfyF3YZw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="__JTJrnPSEd-NtftfyF3YZw" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="__JTJr3PSEd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__JTJsHPSEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__JTJsXPSEd-NtftfyF3YZw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="__JTJsnPSEd-NtftfyF3YZw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="__JTJs3PSEd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__JTJtHPSEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__JTJtXPSEd-NtftfyF3YZw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="__JTJoXPSEd-NtftfyF3YZw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_5f8UdHPSEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__JTJonPSEd-NtftfyF3YZw" x="612" y="135" width="338" height="109"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_AoXvsHPTEd-NtftfyF3YZw" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AoXvs3PTEd-NtftfyF3YZw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AoXvtHPTEd-NtftfyF3YZw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AoXvtXPTEd-NtftfyF3YZw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AoXvtnPTEd-NtftfyF3YZw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F0MoEHh4Ed-ECKyh8Dg6Wg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_F0MoEXh4Ed-ECKyh8Dg6Wg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AoXvuXPTEd-NtftfyF3YZw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_AoXvunPTEd-NtftfyF3YZw" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_AoXvu3PTEd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_AoXvvHPTEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AoXvvXPTEd-NtftfyF3YZw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_AoXvvnPTEd-NtftfyF3YZw" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_AoXvv3PTEd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_AoXvwHPTEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AoXvwXPTEd-NtftfyF3YZw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_AoXvwnPTEd-NtftfyF3YZw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_AoXvw3PTEd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_AoXvxHPTEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AoXvxXPTEd-NtftfyF3YZw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_AoXvsXPTEd-NtftfyF3YZw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_7-bbAnPQEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AoXvsnPTEd-NtftfyF3YZw" x="641" y="-35" width="279"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GUaFcHPTEd-NtftfyF3YZw" type="2008" fontHeight="8" fillColor="12560536" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GUaFc3PTEd-NtftfyF3YZw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GUaFdHPTEd-NtftfyF3YZw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GUaFdXPTEd-NtftfyF3YZw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GUaFdnPTEd-NtftfyF3YZw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_D_hlcnh4Ed-ECKyh8Dg6Wg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_D_hlc3h4Ed-ECKyh8Dg6Wg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_GUaFeXPTEd-NtftfyF3YZw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GUaFenPTEd-NtftfyF3YZw" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GUaFe3PTEd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GUaFfHPTEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GUaFfXPTEd-NtftfyF3YZw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GUaFfnPTEd-NtftfyF3YZw" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GUaFf3PTEd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GUaFgHPTEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GUaFgXPTEd-NtftfyF3YZw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GUaFgnPTEd-NtftfyF3YZw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GUaFg3PTEd-NtftfyF3YZw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GUaFhHPTEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GUaFhXPTEd-NtftfyF3YZw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_GUaFcXPTEd-NtftfyF3YZw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_huFo1HPSEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GUaFcnPTEd-NtftfyF3YZw" x="602" y="468" width="358"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_RvatIXcpEd-96YWU42lBhw" type="2004" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RwKUAHcpEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RwKUAXcpEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RwKUAncpEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RwKUA3cpEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_D_hldnh4Ed-ECKyh8Dg6Wg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_D_hld3h4Ed-ECKyh8Dg6Wg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_RwKUBncpEd-96YWU42lBhw" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_RwKUB3cpEd-96YWU42lBhw" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_RwKUCHcpEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_RwKUCXcpEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RwKUCncpEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_RwKUC3cpEd-96YWU42lBhw" type="7007">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_RwKUDHcpEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_RwKUDXcpEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RwKUDncpEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_RwKUD3cpEd-96YWU42lBhw" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_RwKUEHcpEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_RwKUEXcpEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RwKUEncpEd-96YWU42lBhw"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_HK-0B3PGEd-bh5e9e7eOjw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RvatIncpEd-96YWU42lBhw" x="122" y="135" width="334" height="110"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_T8YT8HcpEd-96YWU42lBhw" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T8YT83cpEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_T8YT9HcpEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T8YT9XcpEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_T8YT9ncpEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_D_hlcHh4Ed-ECKyh8Dg6Wg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_D_hlcXh4Ed-ECKyh8Dg6Wg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_T8YT-XcpEd-96YWU42lBhw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_T8YT-ncpEd-96YWU42lBhw" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_T8YT-3cpEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_T8YT_HcpEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T8YT_XcpEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_T8YT_ncpEd-96YWU42lBhw" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_T8YT_3cpEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_T8YUAHcpEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T8YUAXcpEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_T8YUAncpEd-96YWU42lBhw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_T8YUA3cpEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_T8YUBHcpEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T8YUBXcpEd-96YWU42lBhw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_T8YT8XcpEd-96YWU42lBhw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_7-bbAHPQEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T8YT8ncpEd-96YWU42lBhw" x="122" y="470" width="334"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_rDBfYHcpEd-96YWU42lBhw" type="2004" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rDBfYncpEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rDBfY3cpEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rDBfZHcpEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rDBfZXcpEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_seqW8HcpEd-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_seqW8XcpEd-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_rDBfaHcpEd-96YWU42lBhw" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_rDBfaXcpEd-96YWU42lBhw" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_rDBfancpEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_rDBfa3cpEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rDBfbHcpEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_rDBfbXcpEd-96YWU42lBhw" type="7007">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_rDBfbncpEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_rDBfb3cpEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rDBfcHcpEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_rDBfcXcpEd-96YWU42lBhw" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_rDBfcncpEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_rDBfc3cpEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rDBfdHcpEd-96YWU42lBhw"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_QJNf2HOxEd-nKvj-XTCBkg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rDBfYXcpEd-96YWU42lBhw" x="194" y="-44" width="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_L6VqcHh5Ed-ECKyh8Dg6Wg" type="2012" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_L6Vqc3h5Ed-ECKyh8Dg6Wg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_L6VqdHh5Ed-ECKyh8Dg6Wg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_L6VqdXh5Ed-ECKyh8Dg6Wg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_L6Vqdnh5Ed-ECKyh8Dg6Wg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_L6Vqd3h5Ed-ECKyh8Dg6Wg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_L6VqeHh5Ed-ECKyh8Dg6Wg" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_L6VqeXh5Ed-ECKyh8Dg6Wg" type="5038"/>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_L6VqcXh5Ed-ECKyh8Dg6Wg"/>
+ <element xmi:type="uml:Comment" href="CommandStackFramework.uml#_L6CvgHh5Ed-ECKyh8Dg6Wg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L6Vqcnh5Ed-ECKyh8Dg6Wg" x="834" y="209"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_w7xVwHh5Ed-ECKyh8Dg6Wg" type="2008" fontHeight="8" fillColor="12560536" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_w7xVw3h5Ed-ECKyh8Dg6Wg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_w7xVxHh5Ed-ECKyh8Dg6Wg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_w7xVxXh5Ed-ECKyh8Dg6Wg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_w7xVxnh5Ed-ECKyh8Dg6Wg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GqpdAnh6Ed-ECKyh8Dg6Wg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GqpdA3h6Ed-ECKyh8Dg6Wg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_w7xVyXh5Ed-ECKyh8Dg6Wg" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_w7xVynh5Ed-ECKyh8Dg6Wg" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_w7xVy3h5Ed-ECKyh8Dg6Wg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_w7xVzHh5Ed-ECKyh8Dg6Wg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w7xVzXh5Ed-ECKyh8Dg6Wg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_w7xVznh5Ed-ECKyh8Dg6Wg" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_w7xVz3h5Ed-ECKyh8Dg6Wg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_w7xV0Hh5Ed-ECKyh8Dg6Wg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w7xV0Xh5Ed-ECKyh8Dg6Wg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_w7xV0nh5Ed-ECKyh8Dg6Wg" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_w7xV03h5Ed-ECKyh8Dg6Wg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_w7xV1Hh5Ed-ECKyh8Dg6Wg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w7xV1Xh5Ed-ECKyh8Dg6Wg"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_w7xVwXh5Ed-ECKyh8Dg6Wg"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_o5h9oHh5Ed-ECKyh8Dg6Wg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w7xVwnh5Ed-ECKyh8Dg6Wg" x="657" y="666" width="256"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_331I8Hh5Ed-ECKyh8Dg6Wg" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_331I83h5Ed-ECKyh8Dg6Wg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_331I9Hh5Ed-ECKyh8Dg6Wg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_331I9Xh5Ed-ECKyh8Dg6Wg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_331I9nh5Ed-ECKyh8Dg6Wg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GqpdBHh6Ed-ECKyh8Dg6Wg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GqpdBXh6Ed-ECKyh8Dg6Wg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_331I-Xh5Ed-ECKyh8Dg6Wg" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_331I-nh5Ed-ECKyh8Dg6Wg" type="7017">
+ <children xmi:type="notation:Shape" xmi:id="_5_buoHh5Ed-ECKyh8Dg6Wg" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_2XTisHe7Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5_buoXh5Ed-ECKyh8Dg6Wg" x="29" y="11"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_331I-3h5Ed-ECKyh8Dg6Wg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_331I_Hh5Ed-ECKyh8Dg6Wg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_331I_Xh5Ed-ECKyh8Dg6Wg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_331I_nh5Ed-ECKyh8Dg6Wg" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_331I_3h5Ed-ECKyh8Dg6Wg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_331JAHh5Ed-ECKyh8Dg6Wg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_331JAXh5Ed-ECKyh8Dg6Wg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_331JAnh5Ed-ECKyh8Dg6Wg" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_331JA3h5Ed-ECKyh8Dg6Wg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_331JBHh5Ed-ECKyh8Dg6Wg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_331JBXh5Ed-ECKyh8Dg6Wg"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_331I8Xh5Ed-ECKyh8Dg6Wg"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_dhhWUHc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_331I8nh5Ed-ECKyh8Dg6Wg" x="57" y="664" width="261"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8WrS0Hh5Ed-ECKyh8Dg6Wg" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8WrS03h5Ed-ECKyh8Dg6Wg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8WrS1Hh5Ed-ECKyh8Dg6Wg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8WrS1Xh5Ed-ECKyh8Dg6Wg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8WrS1nh5Ed-ECKyh8Dg6Wg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GqpdAHh6Ed-ECKyh8Dg6Wg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GqpdAXh6Ed-ECKyh8Dg6Wg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8W1D0Hh5Ed-ECKyh8Dg6Wg" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_8W1D0Xh5Ed-ECKyh8Dg6Wg" type="7017">
+ <children xmi:type="notation:Shape" xmi:id="_ACtfsHh6Ed-ECKyh8Dg6Wg" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_2ff1YXe7Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ACtfsXh6Ed-ECKyh8Dg6Wg" x="24" y="5"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_8W1D0nh5Ed-ECKyh8Dg6Wg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_8W1D03h5Ed-ECKyh8Dg6Wg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8W1D1Hh5Ed-ECKyh8Dg6Wg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_8W1D1Xh5Ed-ECKyh8Dg6Wg" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_8W1D1nh5Ed-ECKyh8Dg6Wg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_8W1D13h5Ed-ECKyh8Dg6Wg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8W1D2Hh5Ed-ECKyh8Dg6Wg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_8W1D2Xh5Ed-ECKyh8Dg6Wg" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_8W1D2nh5Ed-ECKyh8Dg6Wg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_8W1D23h5Ed-ECKyh8Dg6Wg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8W1D3Hh5Ed-ECKyh8Dg6Wg"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_8WrS0Xh5Ed-ECKyh8Dg6Wg"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_2fWrcHe7Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8WrS0nh5Ed-ECKyh8Dg6Wg" x="960" y="660" width="279"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8X3loHh5Ed-ECKyh8Dg6Wg" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8X3lo3h5Ed-ECKyh8Dg6Wg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8X3lpHh5Ed-ECKyh8Dg6Wg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8X3lpXh5Ed-ECKyh8Dg6Wg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8X3lpnh5Ed-ECKyh8Dg6Wg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GqfsAHh6Ed-ECKyh8Dg6Wg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GqfsAXh6Ed-ECKyh8Dg6Wg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8X3lqXh5Ed-ECKyh8Dg6Wg" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_8X3lqnh5Ed-ECKyh8Dg6Wg" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_8X3lq3h5Ed-ECKyh8Dg6Wg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_8X3lrHh5Ed-ECKyh8Dg6Wg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8X3lrXh5Ed-ECKyh8Dg6Wg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_8X3lrnh5Ed-ECKyh8Dg6Wg" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_8X3lr3h5Ed-ECKyh8Dg6Wg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_8X3lsHh5Ed-ECKyh8Dg6Wg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8X3lsXh5Ed-ECKyh8Dg6Wg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_8X3lsnh5Ed-ECKyh8Dg6Wg" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_8X3ls3h5Ed-ECKyh8Dg6Wg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_8X3ltHh5Ed-ECKyh8Dg6Wg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8X3ltXh5Ed-ECKyh8Dg6Wg"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_8X3loXh5Ed-ECKyh8Dg6Wg"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_dahWcHc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8X3lonh5Ed-ECKyh8Dg6Wg" x="1049" y="136" width="101"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_flOEMHh6Ed-ECKyh8Dg6Wg" type="2008" fontHeight="8" fillColor="12560536" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_flOEM3h6Ed-ECKyh8Dg6Wg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_flOENHh6Ed-ECKyh8Dg6Wg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_flOENXh6Ed-ECKyh8Dg6Wg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_flOENnh6Ed-ECKyh8Dg6Wg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iEN2MHh6Ed-ECKyh8Dg6Wg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iEN2MXh6Ed-ECKyh8Dg6Wg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_flOEOXh6Ed-ECKyh8Dg6Wg" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_flOEOnh6Ed-ECKyh8Dg6Wg" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_flOEO3h6Ed-ECKyh8Dg6Wg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_flOEPHh6Ed-ECKyh8Dg6Wg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_flOEPXh6Ed-ECKyh8Dg6Wg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_flOEPnh6Ed-ECKyh8Dg6Wg" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_flOEP3h6Ed-ECKyh8Dg6Wg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_flOEQHh6Ed-ECKyh8Dg6Wg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_flOEQXh6Ed-ECKyh8Dg6Wg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_flOEQnh6Ed-ECKyh8Dg6Wg" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_flOEQ3h6Ed-ECKyh8Dg6Wg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_flOERHh6Ed-ECKyh8Dg6Wg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_flOERXh6Ed-ECKyh8Dg6Wg"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_flOEMXh6Ed-ECKyh8Dg6Wg"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_dLl6YHh6Ed-ECKyh8Dg6Wg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_flOEMnh6Ed-ECKyh8Dg6Wg" x="371" y="664" width="269"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_9v4aEHh8Ed-ECKyh8Dg6Wg" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9v4aE3h8Ed-ECKyh8Dg6Wg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9v4aFHh8Ed-ECKyh8Dg6Wg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9v4aFXh8Ed-ECKyh8Dg6Wg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9v4aFnh8Ed-ECKyh8Dg6Wg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FpBgkHh9Ed-ECKyh8Dg6Wg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FpBgkXh9Ed-ECKyh8Dg6Wg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_9v4aGXh8Ed-ECKyh8Dg6Wg" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_9v4aGnh8Ed-ECKyh8Dg6Wg" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9v4aG3h8Ed-ECKyh8Dg6Wg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9v4aHHh8Ed-ECKyh8Dg6Wg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9v4aHXh8Ed-ECKyh8Dg6Wg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_9v4aHnh8Ed-ECKyh8Dg6Wg" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9v4aH3h8Ed-ECKyh8Dg6Wg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9v4aIHh8Ed-ECKyh8Dg6Wg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9v4aIXh8Ed-ECKyh8Dg6Wg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_9v4aInh8Ed-ECKyh8Dg6Wg" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9v4aI3h8Ed-ECKyh8Dg6Wg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9v4aJHh8Ed-ECKyh8Dg6Wg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9v4aJXh8Ed-ECKyh8Dg6Wg"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_9v4aEXh8Ed-ECKyh8Dg6Wg"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_-YGLoHPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9v4aEnh8Ed-ECKyh8Dg6Wg" x="207" y="774" width="285"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_-mR8IXPSEd-NtftfyF3YZw"/>
+ <element xmi:type="uml:Model" href="CommandStackFramework.uml#_JJIvUHOxEd-nKvj-XTCBkg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_Aog5oHPTEd-NtftfyF3YZw" type="4002" source="__JTJoHPSEd-NtftfyF3YZw" target="_AoXvsHPTEd-NtftfyF3YZw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Aog5o3PTEd-NtftfyF3YZw" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Aog5pHPTEd-NtftfyF3YZw" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Aog5oXPTEd-NtftfyF3YZw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_5f8UdnPSEd-NtftfyF3YZw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Aog5onPTEd-NtftfyF3YZw" points="[-81, -36, 648, 292]$[-729, -328, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_T_9MYHcpEd-96YWU42lBhw" type="4008" source="_T8YT8HcpEd-96YWU42lBhw" target="_RvatIXcpEd-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_T_9MY3cpEd-96YWU42lBhw" visible="false" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_T_9MZHcpEd-96YWU42lBhw" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_T_9MZXcpEd-96YWU42lBhw" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_T_9MZncpEd-96YWU42lBhw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_T_9MYXcpEd-96YWU42lBhw" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_7-bbBHPQEd-NtftfyF3YZw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_T_9MYncpEd-96YWU42lBhw" points="[0, 0, -196, -286]$[158, 231, -38, -55]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_YQplgHcpEd-96YWU42lBhw" type="4008" source="_GUaFcHPTEd-NtftfyF3YZw" target="_RvatIXcpEd-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_YQplg3cpEd-96YWU42lBhw" visible="false" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YQplhHcpEd-96YWU42lBhw" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_YQplhXcpEd-96YWU42lBhw" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YQplhncpEd-96YWU42lBhw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_YQplgXcpEd-96YWU42lBhw" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_huPZ1XPSEd-NtftfyF3YZw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YQplgncpEd-96YWU42lBhw" points="[-50, -34, 455, 311]$[-425, -290, 80, 55]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_rFaFAHcpEd-96YWU42lBhw" type="4002" source="_RvatIXcpEd-96YWU42lBhw" target="_rDBfYHcpEd-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_rFaFA3cpEd-96YWU42lBhw" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_rFaFBHcpEd-96YWU42lBhw" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_rFaFAXcpEd-96YWU42lBhw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_HK-0CXPGEd-bh5e9e7eOjw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rFaFAncpEd-96YWU42lBhw" points="[-84, -55, 203, 135]$[-287, -190, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_nbvb4Hh3Ed-ECKyh8Dg6Wg" type="4002" source="_GUaFcHPTEd-NtftfyF3YZw" target="__JTJoHPSEd-NtftfyF3YZw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_nbvb43h3Ed-ECKyh8Dg6Wg" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nbvb5Hh3Ed-ECKyh8Dg6Wg" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_nbvb4Xh3Ed-ECKyh8Dg6Wg" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_mNECQHh3Ed-ECKyh8Dg6Wg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nbvb4nh3Ed-ECKyh8Dg6Wg" points="[2, -42, -14, 225]$[13, -225, -3, 42]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_I4vXIHh4Ed-ECKyh8Dg6Wg" type="4008" source="_AoXvsHPTEd-NtftfyF3YZw" target="_rDBfYHcpEd-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_I4vXI3h4Ed-ECKyh8Dg6Wg" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_I4vXJHh4Ed-ECKyh8Dg6Wg" x="-11" y="59"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_I4vXJXh4Ed-ECKyh8Dg6Wg" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_I4vXJnh4Ed-ECKyh8Dg6Wg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_I4vXIXh4Ed-ECKyh8Dg6Wg" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_RqLVwXPREd-NtftfyF3YZw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_I4vXInh4Ed-ECKyh8Dg6Wg" points="[-139, -1, 352, 0]$[-396, 0, 95, 1]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_w8qtoHh5Ed-ECKyh8Dg6Wg" type="4002" source="_w7xVwHh5Ed-ECKyh8Dg6Wg" target="_GUaFcHPTEd-NtftfyF3YZw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_w8qto3h5Ed-ECKyh8Dg6Wg" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_w8qtpHh5Ed-ECKyh8Dg6Wg" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_w8qtoXh5Ed-ECKyh8Dg6Wg" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_o5h9oXh5Ed-ECKyh8Dg6Wg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w8qtonh5Ed-ECKyh8Dg6Wg" points="[0, 0, -781, -510]$[716, 468, -65, -42]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_34ug0Hh5Ed-ECKyh8Dg6Wg" type="4002" source="_331I8Hh5Ed-ECKyh8Dg6Wg" target="_T8YT8HcpEd-96YWU42lBhw" routing="Rectilinear" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_34ug03h5Ed-ECKyh8Dg6Wg" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_34ug1Hh5Ed-ECKyh8Dg6Wg" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_34ug0Xh5Ed-ECKyh8Dg6Wg" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_2Wj70He7Ed-C3vabgS4Hag"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_34ug0nh5Ed-ECKyh8Dg6Wg" points="[13, -42, -89, 152]$[13, -152, -89, 42]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_8ZNpcHh5Ed-ECKyh8Dg6Wg" type="4002" source="_8WrS0Hh5Ed-ECKyh8Dg6Wg" target="_8X3loHh5Ed-ECKyh8Dg6Wg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8ZNpc3h5Ed-ECKyh8Dg6Wg" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8ZNpdHh5Ed-ECKyh8Dg6Wg" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_8ZNpcXh5Ed-ECKyh8Dg6Wg" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_2ff1YHe7Ed-C3vabgS4Hag"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8ZNpcnh5Ed-ECKyh8Dg6Wg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_fmHcEHh6Ed-ECKyh8Dg6Wg" type="4002" source="_flOEMHh6Ed-ECKyh8Dg6Wg" target="_GUaFcHPTEd-NtftfyF3YZw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_fmHcE3h6Ed-ECKyh8Dg6Wg" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_fmHcFHh6Ed-ECKyh8Dg6Wg" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_fmHcEXh6Ed-ECKyh8Dg6Wg" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_diFu0Xh6Ed-ECKyh8Dg6Wg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fmHcEnh6Ed-ECKyh8Dg6Wg" points="[0, 0, -781, -510]$[716, 468, -65, -42]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_9w674Hh8Ed-ECKyh8Dg6Wg" type="4002" source="_9v4aEHh8Ed-ECKyh8Dg6Wg" target="_T8YT8HcpEd-96YWU42lBhw" routing="Rectilinear" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_9w6743h8Ed-ECKyh8Dg6Wg" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9w675Hh8Ed-ECKyh8Dg6Wg" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_9w674Xh8Ed-ECKyh8Dg6Wg" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_-YGLonPREd-NtftfyF3YZw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9w674nh8Ed-ECKyh8Dg6Wg" points="[-2, -34, 46, 262]$[-2, -254, 46, 42]"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_CcxXkHcrEd-96YWU42lBhw" type="PapyrusUMLClassDiagram" name="emf CommandStack" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_NCxs8HcrEd-96YWU42lBhw" type="2004" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NCxs8ncrEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NCxs83crEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NCxs9HcrEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NCxs9XcrEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iZDuAHcrEd-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iZDuAXcrEd-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_NCxs-HcrEd-96YWU42lBhw" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_NCxs-XcrEd-96YWU42lBhw" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NCxs-ncrEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NCxs-3crEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NCxs_HcrEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_NCxs_XcrEd-96YWU42lBhw" type="7007">
+ <children xmi:type="notation:Shape" xmi:id="_ee3wYHcrEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vq_Tk3cqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ee3wYXcrEd-96YWU42lBhw" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_efKrUHcrEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_R2hvcHlSEd-G1sP92iSIng" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SsK-AHlSEd-G1sP92iSIng" key="CustomAppearance_MaskValue" value="264"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vrS1mHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_efKrUXcrEd-96YWU42lBhw" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_efxIQHcrEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vq_TkXcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_efxIQXcrEd-96YWU42lBhw" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_egp5EHcrEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vq_TlncqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_egp5EXcrEd-96YWU42lBhw" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ehGlAHcrEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vq_TmXcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ehGlAXcrEd-96YWU42lBhw" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ehtB8HcrEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vq2JpHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ehtB8XcrEd-96YWU42lBhw" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_eiS30HcrEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vrS1lncqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_eiS30XcrEd-96YWU42lBhw" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ei5UwHcrEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vrb_gHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ei5UwXcrEd-96YWU42lBhw" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ejfKoHcrEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vrS1lHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ejfKoXcrEd-96YWU42lBhw" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ej72kHcrEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vrS1kXcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ej72kXcrEd-96YWU42lBhw" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ekiTgHcrEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vq2JoXcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ekiTgXcrEd-96YWU42lBhw" x="41" y="10"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NCxs_ncrEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NCxs_3crEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NCxtAHcrEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_NCxtAXcrEd-96YWU42lBhw" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NCxtAncrEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NCxtA3crEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NCxtBHcrEd-96YWU42lBhw"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_vmE-YncqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NCxs8XcrEd-96YWU42lBhw" x="67" y="46" width="251" height="277"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_SpmLgHcrEd-96YWU42lBhw" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SpmLg3crEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SpmLhHcrEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SpmLhXcrEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SpmLhncrEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kbmNgHcrEd-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kbmNgXcrEd-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_SpmLiXcrEd-96YWU42lBhw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_SpmLincrEd-96YWU42lBhw" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SpmLi3crEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SpmLjHcrEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SpmLjXcrEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_SpmLjncrEd-96YWU42lBhw" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SpmLj3crEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SpmLkHcrEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SpmLkXcrEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_SpmLkncrEd-96YWU42lBhw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SpmLk3crEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SpmLlHcrEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SpmLlXcrEd-96YWU42lBhw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_SpmLgXcrEd-96YWU42lBhw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_vmE-YHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SpmLgncrEd-96YWU42lBhw" x="64" y="468" width="248"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_zl9e4HcrEd-96YWU42lBhw" type="2004" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zmGo0HcrEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zmGo0XcrEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zmGo0ncrEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zmGo03crEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SsTr0HcsEd-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SsTr0XcsEd-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_zmGo1ncrEd-96YWU42lBhw" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_zmGo13crEd-96YWU42lBhw" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_zmGo2HcrEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_zmGo2XcrEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zmGo2ncrEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_zmGo23crEd-96YWU42lBhw" type="7007">
+ <children xmi:type="notation:Shape" xmi:id="_1T7ckHcrEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpWU2HcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1T7ckXcrEd-96YWU42lBhw" x="47" y="12"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1UrDcHcrEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpp20XcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1UrDcXcrEd-96YWU42lBhw" x="47" y="12"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1VHvYHcrEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpgF1ncqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1VHvYXcrEd-96YWU42lBhw" x="47" y="12"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1VuMUHcrEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpp203cqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1VuMUXcrEd-96YWU42lBhw" x="47" y="12"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1WKRMHcrEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpWU0XcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1WKRMXcrEd-96YWU42lBhw" x="47" y="12"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1WwuIHcrEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpWU1ncqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1WwuIXcrEd-96YWU42lBhw" x="47" y="12"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1XNaEHcrEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpWU03cqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1XNaEXcrEd-96YWU42lBhw" x="47" y="12"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1XzP8HcrEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpNK4XcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1XzP8XcrEd-96YWU42lBhw" x="47" y="12"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1YZs4HcrEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpWU2ncqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1YZs4XcrEd-96YWU42lBhw" x="47" y="12"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1Y2Y0HcrEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpgF2XcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1Y2Y0XcrEd-96YWU42lBhw" x="47" y="12"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1ZcOsHcrEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpgF0XcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1ZcOsXcrEd-96YWU42lBhw" x="47" y="12"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_zmGo3HcrEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_zmGo3XcrEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zmGo3ncrEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_zmGo33crEd-96YWU42lBhw" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_zmGo4HcrEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_zmGo4XcrEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zmGo4ncrEd-96YWU42lBhw"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_vowe8HcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zl9e4XcrEd-96YWU42lBhw" x="545" y="40" width="232" height="269"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_4mVogHcrEd-96YWU42lBhw" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4mVog3crEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4mVohHcrEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4mVohXcrEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4mVohncrEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GKxd4HcsEd-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GKxd4XcsEd-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4mVoiXcrEd-96YWU42lBhw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_4mVoincrEd-96YWU42lBhw" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_4mVoi3crEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_4mVojHcrEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4mVojXcrEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_4mVojncrEd-96YWU42lBhw" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_4mVoj3crEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_4mVokHcrEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4mVokXcrEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_4mVokncrEd-96YWU42lBhw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_4mVok3crEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_4mVolHcrEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4mVolXcrEd-96YWU42lBhw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_4mVogXcrEd-96YWU42lBhw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_vgkMQHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4mVogncrEd-96YWU42lBhw" x="588" y="469" width="180"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_--oAQHcrEd-96YWU42lBhw" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_--xxQHcrEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_--xxQXcrEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_--xxQncrEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_--xxQ3crEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KraXgHcsEd-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KraXgXcsEd-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_--xxRncrEd-96YWU42lBhw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_--xxR3crEd-96YWU42lBhw" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_--xxSHcrEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_--xxSXcrEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_--xxSncrEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_--xxS3crEd-96YWU42lBhw" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_--xxTHcrEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_--xxTXcrEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_--xxTncrEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_--xxT3crEd-96YWU42lBhw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_--xxUHcrEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_--xxUXcrEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_--xxUncrEd-96YWU42lBhw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_--oAQXcrEd-96YWU42lBhw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_vthqMHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_--oAQncrEd-96YWU42lBhw" x="394" y="674" width="129"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_AKBcYHcsEd-96YWU42lBhw" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AKBcY3csEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AKBcZHcsEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AKBcZXcsEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AKBcZncsEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M7zFwHcsEd-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M7zFwXcsEd-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AKLNYXcsEd-96YWU42lBhw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_AKLNYncsEd-96YWU42lBhw" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_AKLNY3csEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_AKLNZHcsEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AKLNZXcsEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_AKLNZncsEd-96YWU42lBhw" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_AKLNZ3csEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_AKLNaHcsEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AKLNaXcsEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_AKLNancsEd-96YWU42lBhw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_AKLNa3csEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_AKLNbHcsEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AKLNbXcsEd-96YWU42lBhw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_AKBcYXcsEd-96YWU42lBhw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_vwW7wHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AKBcYncsEd-96YWU42lBhw" x="587" y="676" width="141"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_BshJ4HcsEd-96YWU42lBhw" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BshJ43csEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BshJ5HcsEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BshJ5XcsEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BshJ5ncsEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OTt68HcsEd-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OTt68XcsEd-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_BshJ6XcsEd-96YWU42lBhw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_BshJ6ncsEd-96YWU42lBhw" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_BshJ63csEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_BshJ7HcsEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BshJ7XcsEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_BshJ7ncsEd-96YWU42lBhw" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_BshJ73csEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_BshJ8HcsEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BshJ8XcsEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_BshJ8ncsEd-96YWU42lBhw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_BshJ83csEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_BshJ9HcsEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BshJ9XcsEd-96YWU42lBhw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_BshJ4XcsEd-96YWU42lBhw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_v2UZ0HcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BshJ4ncsEd-96YWU42lBhw" x="754" y="678" width="156"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_CDYf0HcuEd-96YWU42lBhw" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CDYf03cuEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CDYf1HcuEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CDYf1XcuEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CDYf1ncuEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FRUbcHcuEd-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FRUbcXcuEd-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_CDYf2XcuEd-96YWU42lBhw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_CDYf2ncuEd-96YWU42lBhw" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CDYf23cuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CDYf3HcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CDYf3XcuEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_CDYf3ncuEd-96YWU42lBhw" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CDYf33cuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CDYf4HcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CDYf4XcuEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_CDYf4ncuEd-96YWU42lBhw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CDYf43cuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CDYf5HcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CDYf5XcuEd-96YWU42lBhw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_CDYf0XcuEd-96YWU42lBhw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_0X8DgHctEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CDYf0ncuEd-96YWU42lBhw" x="927" y="679"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_CcxXkXcrEd-96YWU42lBhw"/>
+ <element xmi:type="uml:Model" href="CommandStackFramework.uml#_JJIvUHOxEd-nKvj-XTCBkg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_SqVyYHcrEd-96YWU42lBhw" type="4008" source="_SpmLgHcrEd-96YWU42lBhw" target="_NCxs8HcrEd-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_SqVyY3crEd-96YWU42lBhw" visible="false" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_SqVyZHcrEd-96YWU42lBhw" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_SqVyZXcrEd-96YWU42lBhw" visible="false" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_SqVyZncrEd-96YWU42lBhw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_SqVyYXcrEd-96YWU42lBhw" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_vmE-Y3cqEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SqVyYncrEd-96YWU42lBhw" points="[0, 0, -380, -230]$[330, 199, -50, -31]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_4nOZUHcrEd-96YWU42lBhw" type="4008" source="_4mVogHcrEd-96YWU42lBhw" target="_zl9e4HcrEd-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_4nOZU3crEd-96YWU42lBhw" visible="false" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4nOZVHcrEd-96YWU42lBhw" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4nOZVXcrEd-96YWU42lBhw" visible="false" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4nOZVncrEd-96YWU42lBhw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_4nOZUXcrEd-96YWU42lBhw" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_vgtWMXcqEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4nOZUncrEd-96YWU42lBhw" points="[0, 0, -662, -168]$[545, 138, -117, -30]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_-_XnIHcrEd-96YWU42lBhw" type="4002" source="_--oAQHcrEd-96YWU42lBhw" target="_4mVogHcrEd-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_-_XnI3crEd-96YWU42lBhw" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-_XnJHcrEd-96YWU42lBhw" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_-_XnIXcrEd-96YWU42lBhw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_vthqMncqEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-_XnIncrEd-96YWU42lBhw" points="[0, 0, -695, -504]$[648, 470, -47, -34]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ALElQHcsEd-96YWU42lBhw" type="4002" source="_AKBcYHcsEd-96YWU42lBhw" target="_4mVogHcrEd-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ALElQ3csEd-96YWU42lBhw" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ALElRHcsEd-96YWU42lBhw" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ALElQXcsEd-96YWU42lBhw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_vwW7wncqEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ALElQncsEd-96YWU42lBhw" points="[0, 0, -695, -504]$[648, 470, -47, -34]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_BtahwHcsEd-96YWU42lBhw" type="4002" source="_BshJ4HcsEd-96YWU42lBhw" target="_4mVogHcrEd-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Btahw3csEd-96YWU42lBhw" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_BtahxHcsEd-96YWU42lBhw" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_BtahwXcsEd-96YWU42lBhw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_v2djwXcqEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BtahwncsEd-96YWU42lBhw" points="[0, 0, -695, -504]$[648, 470, -47, -34]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_CEIGsHcuEd-96YWU42lBhw" type="4002" source="_CDYf0HcuEd-96YWU42lBhw" target="_4mVogHcrEd-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_CER3sHcuEd-96YWU42lBhw" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_CER3sXcuEd-96YWU42lBhw" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_CEIGsXcuEd-96YWU42lBhw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_0YF0gHctEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CEIGsncuEd-96YWU42lBhw" points="[0, 0, -678, -511]$[622, 469, -56, -42]"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_h49xUHcuEd-96YWU42lBhw" type="PapyrusUMLClassDiagram" name="emf transactional CommandStack" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_kXXtdXcuEd-96YWU42lBhw" type="2004" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kXXtdncuEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kXXtd3cuEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kXXteHcuEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kXXteXcuEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kXXtencuEd-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kXXte3cuEd-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_kXXtfHcuEd-96YWU42lBhw" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kXXtfXcuEd-96YWU42lBhw" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kXXtfncuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kXXtf3cuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXXtgHcuEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kXXtgXcuEd-96YWU42lBhw" type="7007">
+ <children xmi:type="notation:Shape" xmi:id="_kXXtgncuEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpWU2HcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXXtg3cuEd-96YWU42lBhw" x="47" y="12"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXXthHcuEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpp20XcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXXthXcuEd-96YWU42lBhw" x="47" y="12"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXXthncuEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpgF1ncqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXXth3cuEd-96YWU42lBhw" x="47" y="12"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXXtiHcuEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpp203cqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXXtiXcuEd-96YWU42lBhw" x="47" y="12"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXXtincuEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpWU0XcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXXti3cuEd-96YWU42lBhw" x="47" y="12"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXXtjHcuEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpWU1ncqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXXtjXcuEd-96YWU42lBhw" x="47" y="12"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXXtjncuEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpWU03cqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXXtj3cuEd-96YWU42lBhw" x="47" y="12"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXXtkHcuEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpNK4XcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXXtkXcuEd-96YWU42lBhw" x="47" y="12"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXXtkncuEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpWU2ncqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXXtk3cuEd-96YWU42lBhw" x="47" y="12"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXXtlHcuEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpgF2XcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXXtlXcuEd-96YWU42lBhw" x="47" y="12"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXXtlncuEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpgF0XcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXXtl3cuEd-96YWU42lBhw" x="47" y="12"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kXXtmHcuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kXXtmXcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXXtmncuEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kXXtm3cuEd-96YWU42lBhw" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kXXtnHcuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kXXtnXcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXXtnncuEd-96YWU42lBhw"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_vowe8HcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXXtn3cuEd-96YWU42lBhw" x="1133" y="62" width="232" height="269"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXXtoHcuEd-96YWU42lBhw" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kXXtoXcuEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kXXtoncuEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kXXto3cuEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kXXtpHcuEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kXXtpXcuEd-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kXXtpncuEd-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_kXXtp3cuEd-96YWU42lBhw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kXXtqHcuEd-96YWU42lBhw" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kXXtqXcuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kXXtqncuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXXtq3cuEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kXXtrHcuEd-96YWU42lBhw" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kXXtrXcuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kXXtrncuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXXtr3cuEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kXXtsHcuEd-96YWU42lBhw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kXXtsXcuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kXXtsncuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXXts3cuEd-96YWU42lBhw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_kXXttHcuEd-96YWU42lBhw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_vgkMQHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXXttXcuEd-96YWU42lBhw" x="1164" y="491" width="180"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXg3bncuEd-96YWU42lBhw" type="2008" fontHeight="8" fillColor="12560536" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kXg3b3cuEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kXg3cHcuEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kXg3cXcuEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kXg3cncuEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kXg3c3cuEd-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kXg3dHcuEd-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_kXg3dXcuEd-96YWU42lBhw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kXg3dncuEd-96YWU42lBhw" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kXg3d3cuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kXg3eHcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXg3eXcuEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kXg3encuEd-96YWU42lBhw" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kXg3e3cuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kXg3fHcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXg3fXcuEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kXg3fncuEd-96YWU42lBhw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kXg3f3cuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kXg3gHcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXg3gXcuEd-96YWU42lBhw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_kXg3gncuEd-96YWU42lBhw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_0X8DgHctEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXg3g3cuEd-96YWU42lBhw" x="1503" y="702" width="129"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXg3hHcuEd-96YWU42lBhw" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kXg3hXcuEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kXg3hncuEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kXg3h3cuEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kXg3iHcuEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kXg3iXcuEd-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kXg3incuEd-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_kXg3i3cuEd-96YWU42lBhw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kXg3jHcuEd-96YWU42lBhw" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kXg3jXcuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kXg3jncuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXg3j3cuEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kXg3kHcuEd-96YWU42lBhw" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kXg3kXcuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kXg3kncuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXg3k3cuEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kXg3lHcuEd-96YWU42lBhw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kXg3lXcuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kXg3lncuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXg3l3cuEd-96YWU42lBhw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_kXg3mHcuEd-96YWU42lBhw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_vthqMHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXg3mXcuEd-96YWU42lBhw" x="895" y="702" width="176"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXg3mncuEd-96YWU42lBhw" type="2004" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kXg3m3cuEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kXg3nHcuEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kXg3nXcuEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kXg3nncuEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kXg3n3cuEd-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kXg3oHcuEd-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_kXg3oXcuEd-96YWU42lBhw" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kXg3oncuEd-96YWU42lBhw" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kXg3o3cuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kXg3pHcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXg3pXcuEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kXg3pncuEd-96YWU42lBhw" type="7007">
+ <children xmi:type="notation:Shape" xmi:id="_kXg3p3cuEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vq_Tk3cqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXg3qHcuEd-96YWU42lBhw" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXg3qXcuEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vrS1mHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXg3qncuEd-96YWU42lBhw" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXg3q3cuEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vq_TkXcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXg3rHcuEd-96YWU42lBhw" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXg3rXcuEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vq_TlncqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXg3rncuEd-96YWU42lBhw" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXg3r3cuEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vq_TmXcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXg3sHcuEd-96YWU42lBhw" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXg3sXcuEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vq2JpHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXg3sncuEd-96YWU42lBhw" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXg3s3cuEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vrS1lncqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXg3tHcuEd-96YWU42lBhw" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXg3tXcuEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vrb_gHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXg3tncuEd-96YWU42lBhw" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXg3t3cuEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vrS1lHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXg3uHcuEd-96YWU42lBhw" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXg3uXcuEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vrS1kXcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXg3uncuEd-96YWU42lBhw" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXg3u3cuEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OVN-IHlNEd-G1sP92iSIng" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OeTosHlNEd-G1sP92iSIng" key="CustomAppearance_MaskValue" value="778"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vq2JoXcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXg3vHcuEd-96YWU42lBhw" x="41" y="10"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kXg3vXcuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kXg3vncuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXg3v3cuEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kXg3wHcuEd-96YWU42lBhw" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kXg3wXcuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kXg3wncuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXg3w3cuEd-96YWU42lBhw"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_vmE-YncqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXg3xHcuEd-96YWU42lBhw" x="77" y="56" width="251" height="277"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXg3xXcuEd-96YWU42lBhw" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kXg3xncuEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kXg3x3cuEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kXg3yHcuEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kXg3yXcuEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kXg3yncuEd-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kXg3y3cuEd-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_kXg3zHcuEd-96YWU42lBhw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kXg3zXcuEd-96YWU42lBhw" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kXg3zncuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kXg3z3cuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXg30HcuEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kXg30XcuEd-96YWU42lBhw" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kXg30ncuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kXg303cuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXg31HcuEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kXg31XcuEd-96YWU42lBhw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kXg31ncuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kXg313cuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXg32HcuEd-96YWU42lBhw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_kXg32XcuEd-96YWU42lBhw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_vwW7wHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXg32ncuEd-96YWU42lBhw" x="1096" y="702" width="182"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXg323cuEd-96YWU42lBhw" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kXg33HcuEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kXg33XcuEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kXg33ncuEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kXg333cuEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kXg34HcuEd-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kXg34XcuEd-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_kXg34ncuEd-96YWU42lBhw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kXg343cuEd-96YWU42lBhw" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kXg35HcuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kXg35XcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXg35ncuEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kXg353cuEd-96YWU42lBhw" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kXg36HcuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kXg36XcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXg36ncuEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kXg363cuEd-96YWU42lBhw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kXg37HcuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kXg37XcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXg37ncuEd-96YWU42lBhw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_kXg373cuEd-96YWU42lBhw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_v2UZ0HcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXg38HcuEd-96YWU42lBhw" x="1300" y="702" width="186"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kXg3-3cuEd-96YWU42lBhw" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kXg3_HcuEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kXg3_XcuEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kXg3_ncuEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kXg3_3cuEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kXg4AHcuEd-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kXg4AXcuEd-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_kXg4AncuEd-96YWU42lBhw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kXg4A3cuEd-96YWU42lBhw" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kXg4BHcuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kXg4BXcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXg4BncuEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kXg4B3cuEd-96YWU42lBhw" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kXg4CHcuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kXg4CXcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXg4CncuEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kXg4C3cuEd-96YWU42lBhw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kXg4DHcuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kXg4DXcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXg4DncuEd-96YWU42lBhw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_kXg4D3cuEd-96YWU42lBhw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_vmE-YHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kXg4EHcuEd-96YWU42lBhw" x="603" y="156" width="263"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_wq5UkHcuEd-96YWU42lBhw" type="2004" fontHeight="8" fillColor="12560536" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wrCegHcuEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wrCegXcuEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wrCegncuEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wrCeg3cuEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_179lkHcuEd-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_179lkXcuEd-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_wrCehncuEd-96YWU42lBhw" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_wrCeh3cuEd-96YWU42lBhw" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_wrCeiHcuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_wrCeiXcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wrCeincuEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_wrCei3cuEd-96YWU42lBhw" type="7007">
+ <children xmi:type="notation:Shape" xmi:id="_LcvUgHcxEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TkW_gXksEd-1i63YpiqMXQ" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bWEBQHksEd-1i63YpiqMXQ" key="CustomAppearance_MaskValue" value="778"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_0xkrg3ctEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LcvUgXcxEd-96YWU42lBhw" x="71" y="3"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_LdMAcHcxEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_0xt1c3ctEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LdMAcXcxEd-96YWU42lBhw" x="71" y="3"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_LeFYUHcxEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_0xt1cHctEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LeFYUXcxEd-96YWU42lBhw" x="71" y="3"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_wrCejHcuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_wrCejXcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wrCejncuEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_wrCej3cuEd-96YWU42lBhw" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_wrCekHcuEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_wrCekXcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wrCekncuEd-96YWU42lBhw"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_0xkrgHctEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wq5UkXcuEd-96YWU42lBhw" x="80" y="395" width="252" height="149"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Me_GkHcvEd-96YWU42lBhw" type="2004" fontHeight="8" fillColor="12560536" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MfI3kHcvEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MfI3kXcvEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MfI3kncvEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MfI3k3cvEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OPpL4HcvEd-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OPpL4XcvEd-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_MfI3lncvEd-96YWU42lBhw" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_MfI3l3cvEd-96YWU42lBhw" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_MfI3mHcvEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_MfI3mXcvEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MfI3mncvEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_MfI3m3cvEd-96YWU42lBhw" type="7007">
+ <children xmi:type="notation:Shape" xmi:id="_YDL3oHcxEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KfMu0HlNEd-G1sP92iSIng" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Kral4HlNEd-G1sP92iSIng" key="CustomAppearance_MaskValue" value="778"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_8vXzFHcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YDL3oXcxEd-96YWU42lBhw" x="96" y="13"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_YE02YHcxEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_8v0fAncuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YE02YXcxEd-96YWU42lBhw" x="96" y="13"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_YGBJMHcxEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_8vOCEncuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YGBJMXcxEd-96YWU42lBhw" x="96" y="13"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_YHESEHcxEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LNPgkHlNEd-G1sP92iSIng" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LqAVEHlNEd-G1sP92iSIng" key="CustomAppearance_MaskValue" value="778"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_8vXzEXcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YHESEXcxEd-96YWU42lBhw" x="96" y="13"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_MfI3nHcvEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_MfI3nXcvEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MfI3nncvEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_MfI3n3cvEd-96YWU42lBhw" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_MfI3oHcvEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_MfI3oXcvEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MfI3oncvEd-96YWU42lBhw"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_8gd0YHcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Me_GkXcvEd-96YWU42lBhw" x="278" y="610" width="291" height="176"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_xUywsHcvEd-96YWU42lBhw" type="2008" fontHeight="8" fillColor="12560536" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xUyws3cvEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xUywtHcvEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xUywtXcvEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xUywtncvEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BuI9sHcwEd-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BuI9sXcwEd-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_xUywuXcvEd-96YWU42lBhw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_xUywuncvEd-96YWU42lBhw" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xUywu3cvEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xUywvHcvEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xUywvXcvEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_xUywvncvEd-96YWU42lBhw" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_rgKDwHlMEd-G1sP92iSIng" type="3013" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7ZdewHlMEd-G1sP92iSIng" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9J0CEHlMEd-G1sP92iSIng" key="CustomAppearance_MaskValue" value="778"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_8hz4MXcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_rgKDwXlMEd-G1sP92iSIng" x="91" y="11"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_sDLRQHlMEd-G1sP92iSIng" type="3013" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-IQAQHlMEd-G1sP92iSIng" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-1jLIHlMEd-G1sP92iSIng" key="CustomAppearance_MaskValue" value="778"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_8hXMQncuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_sDLRQXlMEd-G1sP92iSIng" x="68" y="7"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tBdecHlMEd-G1sP92iSIng" type="3013" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__fuJgHlMEd-G1sP92iSIng" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__pGvAHlMEd-G1sP92iSIng" key="CustomAppearance_MaskValue" value="778"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_8hg9QXcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tBdecXlMEd-G1sP92iSIng" x="113" y="38"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xUywv3cvEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xUywwHcvEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xUywwXcvEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_xUywwncvEd-96YWU42lBhw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xUyww3cvEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xUywxHcvEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xUywxXcvEd-96YWU42lBhw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_xUywsXcvEd-96YWU42lBhw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_8gUqcHcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xUywsncvEd-96YWU42lBhw" x="619" y="611" width="234" height="146"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GFFv0HcwEd-96YWU42lBhw" type="2008" fontHeight="8" fillColor="12560536" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GFO5wHcwEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GFO5wXcwEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GFO5wncwEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GFO5w3cwEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__FfD8HcwEd-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__FfD8XcwEd-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_GFO5xncwEd-96YWU42lBhw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GFO5x3cwEd-96YWU42lBhw" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GFO5yHcwEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GFO5yXcwEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GFO5yncwEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GFO5y3cwEd-96YWU42lBhw" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_o1PVoHlMEd-G1sP92iSIng" type="3013" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EwVHgHlNEd-G1sP92iSIng" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E37kUHlNEd-G1sP92iSIng" key="CustomAppearance_MaskValue" value="778"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_9fMtgHcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_o1PVoXlMEd-G1sP92iSIng" x="48" y="7"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GFO5zHcwEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GFO5zXcwEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GFO5zncwEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GFO5z3cwEd-96YWU42lBhw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GFO50HcwEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GFO50XcwEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GFO50ncwEd-96YWU42lBhw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_GFFv0XcwEd-96YWU42lBhw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_9fDjkHcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GFFv0ncwEd-96YWU42lBhw" x="726" y="855" width="247"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_TT7IoHcwEd-96YWU42lBhw" type="2008" fontHeight="8" fillColor="8047085" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TT7Io3cwEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TT7IpHcwEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TT7IpXcwEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TT7IpncwEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9lq3AHcwEd-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9lq3AXcwEd-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_TT7IqXcwEd-96YWU42lBhw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TT7IqncwEd-96YWU42lBhw" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TT7Iq3cwEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TT7IrHcwEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TT7IrXcwEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TT7IrncwEd-96YWU42lBhw" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_ilSagXlMEd-G1sP92iSIng" type="3013" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_D_wmMHlNEd-G1sP92iSIng" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ENncAHlNEd-G1sP92iSIng" key="CustomAppearance_MaskValue" value="778"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_OjVugXcwEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ilSagnlMEd-G1sP92iSIng" x="25" y="5"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TT7Ir3cwEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TT7IsHcwEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TT7IsXcwEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TT7IsncwEd-96YWU42lBhw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TT7Is3cwEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TT7ItHcwEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TT7ItXcwEd-96YWU42lBhw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_TT7IoXcwEd-96YWU42lBhw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_Oggc8HcwEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TT7IoncwEd-96YWU42lBhw" x="414" y="857" width="241"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_zBTgYHcwEd-96YWU42lBhw" type="2004" fontHeight="8" fillColor="8047085" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zBTgYncwEd-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zBTgY3cwEd-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zBTgZHcwEd-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zBTgZXcwEd-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2yQpgHcwEd-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2yQpgXcwEd-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_zBTgaHcwEd-96YWU42lBhw" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_zBTgaXcwEd-96YWU42lBhw" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_zBTgancwEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_zBTga3cwEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zBTgbHcwEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_zBTgbXcwEd-96YWU42lBhw" type="7007">
+ <children xmi:type="notation:Shape" xmi:id="_1br4IHcwEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_xQqCIHcwEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1br4IXcwEd-96YWU42lBhw" x="85" y="8"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1clQAHcwEd-96YWU42lBhw" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_xQgRIHcwEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1clQAXcwEd-96YWU42lBhw" x="85" y="8"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_zBTgbncwEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_zBTgb3cwEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zBTgcHcwEd-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_zBTgcXcwEd-96YWU42lBhw" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_zBTgcncwEd-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_zBTgc3cwEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zBTgdHcwEd-96YWU42lBhw"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_OgqN8ncwEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zBTgYXcwEd-96YWU42lBhw" x="22" y="612" width="220" height="178"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_SlZdYHfuEd-C3vabgS4Hag" type="2004" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SlZdYnfuEd-C3vabgS4Hag" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SlZdY3fuEd-C3vabgS4Hag" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SlZdZHfuEd-C3vabgS4Hag" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SlZdZXfuEd-C3vabgS4Hag" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_veoSgHfuEd-C3vabgS4Hag" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_veoSgXfuEd-C3vabgS4Hag" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_SlZdaHfuEd-C3vabgS4Hag" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_SlZdaXfuEd-C3vabgS4Hag" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SlZdanfuEd-C3vabgS4Hag"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SlZda3fuEd-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SlZdbHfuEd-C3vabgS4Hag"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_SlZdbXfuEd-C3vabgS4Hag" type="7007">
+ <children xmi:type="notation:Shape" xmi:id="_VmvD8HlNEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V_6Y8HlNEd-G1sP92iSIng" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WHN60HlNEd-G1sP92iSIng" key="CustomAppearance_MaskValue" value="778"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_s5JwwXe8Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VmvD8XlNEd-G1sP92iSIng" x="93" y="3"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SlZdbnfuEd-C3vabgS4Hag"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SlZdb3fuEd-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SlZdcHfuEd-C3vabgS4Hag"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_SlZdcXfuEd-C3vabgS4Hag" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SlZdcnfuEd-C3vabgS4Hag"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SlZdc3fuEd-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SlZddHfuEd-C3vabgS4Hag"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_VGoR0HcvEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SlZdYXfuEd-C3vabgS4Hag" x="81" y="850" width="237" height="78"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_h49xUXcuEd-96YWU42lBhw"/>
+ <element xmi:type="uml:Model" href="CommandStackFramework.uml#_JJIvUHOxEd-nKvj-XTCBkg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_kXXtcHcuEd-96YWU42lBhw" type="4002" source="_kXg3bncuEd-96YWU42lBhw" target="_kXXtoHcuEd-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_kXXtcXcuEd-96YWU42lBhw" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXXtcncuEd-96YWU42lBhw" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_kXXtc3cuEd-96YWU42lBhw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_0YF0gHctEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kXXtdHcuEd-96YWU42lBhw" points="[0, 0, -678, -511]$[622, 469, -56, -42]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_kXg3YHcuEd-96YWU42lBhw" type="4008" source="_kXXtoHcuEd-96YWU42lBhw" target="_kXXtdXcuEd-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_kXg3YXcuEd-96YWU42lBhw" visible="false" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXg3YncuEd-96YWU42lBhw" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_kXg3Y3cuEd-96YWU42lBhw" visible="false" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXg3ZHcuEd-96YWU42lBhw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_kXg3ZXcuEd-96YWU42lBhw" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_vgtWMXcqEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kXg3ZncuEd-96YWU42lBhw" points="[0, 0, -662, -168]$[545, 138, -117, -30]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_kXg3Z3cuEd-96YWU42lBhw" type="4008" source="_kXg3-3cuEd-96YWU42lBhw" target="_kXg3mncuEd-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_kXg3aHcuEd-96YWU42lBhw" visible="false" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXg3aXcuEd-96YWU42lBhw" x="-80" y="46"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_kXg3ancuEd-96YWU42lBhw" visible="false" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXg3a3cuEd-96YWU42lBhw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_kXg3bHcuEd-96YWU42lBhw" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_vmE-Y3cqEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kXg3bXcuEd-96YWU42lBhw" points="[0, 0, -380, -230]$[330, 199, -50, -31]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_kXg38XcuEd-96YWU42lBhw" type="4002" source="_kXg3xXcuEd-96YWU42lBhw" target="_kXXtoHcuEd-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_kXg38ncuEd-96YWU42lBhw" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXg383cuEd-96YWU42lBhw" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_kXg39HcuEd-96YWU42lBhw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_vwW7wncqEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kXg39XcuEd-96YWU42lBhw" points="[0, 0, -695, -504]$[648, 470, -47, -34]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_kXg39ncuEd-96YWU42lBhw" type="4002" source="_kXg323cuEd-96YWU42lBhw" target="_kXXtoHcuEd-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_kXg393cuEd-96YWU42lBhw" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXg3-HcuEd-96YWU42lBhw" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_kXg3-XcuEd-96YWU42lBhw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_v2djwXcqEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kXg3-ncuEd-96YWU42lBhw" points="[0, 0, -695, -504]$[648, 470, -47, -34]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_kXg4EXcuEd-96YWU42lBhw" type="4002" source="_kXg3hHcuEd-96YWU42lBhw" target="_kXXtoHcuEd-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_kXg4EncuEd-96YWU42lBhw" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kXg4E3cuEd-96YWU42lBhw" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_kXg4FHcuEd-96YWU42lBhw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_vthqMncqEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kXg4FXcuEd-96YWU42lBhw" points="[0, 0, -695, -504]$[648, 470, -47, -34]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_xlwaUHcuEd-96YWU42lBhw" type="4002" source="_wq5UkHcuEd-96YWU42lBhw" target="_kXg3mncuEd-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_xlwaU3cuEd-96YWU42lBhw" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_xlwaVHcuEd-96YWU42lBhw" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_xlwaUXcuEd-96YWU42lBhw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_0xkrgnctEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xlwaUncuEd-96YWU42lBhw" points="[-83, -49, 238, 138]$[-195, -114, 126, 73]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_MgVKYHcvEd-96YWU42lBhw" type="4002" source="_Me_GkHcvEd-96YWU42lBhw" target="_wq5UkHcuEd-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_MgVKY3cvEd-96YWU42lBhw" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_MgVKZHcvEd-96YWU42lBhw" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_MgVKYXcvEd-96YWU42lBhw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_8vOCEXcuEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MgVKYncvEd-96YWU42lBhw" points="[0, 0, -200, -478]$[179, 428, -21, -50]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_xWbvcHcvEd-96YWU42lBhw" type="4002" source="_xUywsHcvEd-96YWU42lBhw" target="_kXg3-3cuEd-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_xWbvc3cvEd-96YWU42lBhw" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_xWbvdHcvEd-96YWU42lBhw" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_xWbvcXcvEd-96YWU42lBhw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_8gUqcncuEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xWbvcncvEd-96YWU42lBhw" points="[0, 0, -637, -210]$[513, 169, -124, -41]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_0JshQHcvEd-96YWU42lBhw" type="4008" source="_xUywsHcvEd-96YWU42lBhw" target="_Me_GkHcvEd-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_0JshQ3cvEd-96YWU42lBhw" visible="false" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0JshRHcvEd-96YWU42lBhw" x="-57" y="55"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_0JshRXcvEd-96YWU42lBhw" visible="false" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0JshRncvEd-96YWU42lBhw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_0JshQXcvEd-96YWU42lBhw" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_8gd0YXcuEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0JshQncvEd-96YWU42lBhw" points="[-64, 34, 372, -198]$[-342, 182, 94, -50]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_GG34gHcwEd-96YWU42lBhw" type="4002" source="_GFFv0HcwEd-96YWU42lBhw" target="_xUywsHcvEd-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GG34g3cwEd-96YWU42lBhw" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GG34hHcwEd-96YWU42lBhw" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_GG34gXcwEd-96YWU42lBhw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_9fDjkncuEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GG34gncwEd-96YWU42lBhw" points="[0, 0, -714, -710]$[671, 668, -43, -42]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_TVaWYHcwEd-96YWU42lBhw" type="4002" source="_TT7IoHcwEd-96YWU42lBhw" target="_xUywsHcvEd-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_TVaWY3cwEd-96YWU42lBhw" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TVaWZHcwEd-96YWU42lBhw" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_TVaWYXcwEd-96YWU42lBhw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_OgqN8XcwEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_TVaWYncwEd-96YWU42lBhw" points="[0, 0, -714, -710]$[671, 668, -43, -42]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_zCWpQHcwEd-96YWU42lBhw" type="4002" source="_zBTgYHcwEd-96YWU42lBhw" target="_wq5UkHcuEd-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_zCWpQ3cwEd-96YWU42lBhw" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_zCWpRHcwEd-96YWU42lBhw" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_zCWpQXcwEd-96YWU42lBhw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_xQXHMXcwEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zCWpQncwEd-96YWU42lBhw" points="[0, 0, -200, -478]$[179, 428, -21, -50]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_CIZbUHcxEd-96YWU42lBhw" type="4008" source="_TT7IoHcwEd-96YWU42lBhw" target="_zBTgYHcwEd-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_CIZbU3cxEd-96YWU42lBhw" visible="false" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_CIZbVHcxEd-96YWU42lBhw" x="63" y="-32"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_CIZbVXcxEd-96YWU42lBhw" visible="false" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_CIZbVncxEd-96YWU42lBhw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_CIZbUXcxEd-96YWU42lBhw" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_OgqN83cwEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CIZbUncxEd-96YWU42lBhw" points="[-88, 4, 241, -13]$[-219, 11, 110, -6]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_k8-JwHkvEd-1i63YpiqMXQ" id="(0.7454545454545455,0.9438202247191011)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_SmlwMHfuEd-C3vabgS4Hag" type="4001" source="_TT7IoHcwEd-96YWU42lBhw" target="_SlZdYHfuEd-C3vabgS4Hag" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_SmlwM3fuEd-C3vabgS4Hag" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_SmlwNHfuEd-C3vabgS4Hag" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_SmlwNXfuEd-C3vabgS4Hag" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_SmlwNnfuEd-C3vabgS4Hag" x="-7" y="-74"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_SmlwN3fuEd-C3vabgS4Hag" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_SmlwOHfuEd-C3vabgS4Hag" x="-147" y="-56"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_SmlwOXfuEd-C3vabgS4Hag" visible="false" type="6005">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dmz8YHfuEd-C3vabgS4Hag" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dmz8YXfuEd-C3vabgS4Hag" key="CustomAppearance_MaskValue" value="46"/>
+ </eAnnotations>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_SmlwOnfuEd-C3vabgS4Hag" x="5" y="71"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_SmlwMXfuEd-C3vabgS4Hag" fontHeight="8"/>
+ <element xmi:type="uml:Association" href="CommandStackFramework.uml#_RUB8IHfuEd-C3vabgS4Hag"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SmlwMnfuEd-C3vabgS4Hag" points="[-16, -42, 382, 987]$[-398, -1029, 0, 0]"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_niRpkHc2Ed-96YWU42lBhw" type="PapyrusUMLClassDiagram" name="gmf CommandStack" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_0Hh54Hc2Ed-96YWU42lBhw" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0Hh543c2Ed-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0Hh55Hc2Ed-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0Hh55Xc2Ed-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0Hh55nc2Ed-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__HKQMHc2Ed-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__HKQMXc2Ed-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_0Hh56Xc2Ed-96YWU42lBhw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0Hh56nc2Ed-96YWU42lBhw" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0Hh563c2Ed-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0Hh57Hc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0Hh57Xc2Ed-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0Hh57nc2Ed-96YWU42lBhw" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_334mEHc2Ed-96YWU42lBhw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_wYhRgXc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_334mEXc2Ed-96YWU42lBhw" x="50" y="4"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_34MIEHc2Ed-96YWU42lBhw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_wVPUAHc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_34MIEXc2Ed-96YWU42lBhw" x="50" y="4"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_34x98Hc2Ed-96YWU42lBhw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_wXxqoXc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_34x98Xc2Ed-96YWU42lBhw" x="50" y="4"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_35Ya4Hc2Ed-96YWU42lBhw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_wViO8Hc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_35Ya4Xc2Ed-96YWU42lBhw" x="50" y="4"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_35-QwHc2Ed-96YWU42lBhw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_wU8ZEXc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_35-QwXc2Ed-96YWU42lBhw" x="50" y="4"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_36t3oHc2Ed-96YWU42lBhw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_wW4SwHc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_36t3oXc2Ed-96YWU42lBhw" x="50" y="4"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0Hh573c2Ed-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0Hh58Hc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0Hh58Xc2Ed-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0Hh58nc2Ed-96YWU42lBhw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0Hh583c2Ed-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0Hh59Hc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0Hh59Xc2Ed-96YWU42lBhw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_0Hh54Xc2Ed-96YWU42lBhw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_daEqgHc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0Hh54nc2Ed-96YWU42lBhw" x="80" y="96" width="274" height="177"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_9MrggHc2Ed-96YWU42lBhw" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9Mrgg3c2Ed-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9MrghHc2Ed-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9MrghXc2Ed-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9Mrghnc2Ed-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AYFFgHc3Ed-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AYFFgXc3Ed-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_9MrgiXc2Ed-96YWU42lBhw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_9Mrginc2Ed-96YWU42lBhw" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9Mrgi3c2Ed-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9MrgjHc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9MrgjXc2Ed-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_9Mrgjnc2Ed-96YWU42lBhw" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9Mrgj3c2Ed-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9MrgkHc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9MrgkXc2Ed-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_9Mrgknc2Ed-96YWU42lBhw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9Mrgk3c2Ed-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9MrglHc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9MrglXc2Ed-96YWU42lBhw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_9MrggXc2Ed-96YWU42lBhw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_dahWcHc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9Mrggnc2Ed-96YWU42lBhw" x="617" y="95" width="102"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GGMe4Hc3Ed-96YWU42lBhw" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GGMe43c3Ed-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GGMe5Hc3Ed-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GGMe5Xc3Ed-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GGMe5nc3Ed-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JfwbsHc3Ed-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JfwbsXc3Ed-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_GGMe6Xc3Ed-96YWU42lBhw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GGMe6nc3Ed-96YWU42lBhw" type="7017">
+ <children xmi:type="notation:Shape" xmi:id="_uAGzMHc3Ed-96YWU42lBhw" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_da0RYHc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uAGzMXc3Ed-96YWU42lBhw" x="48" y="14"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GGMe63c3Ed-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GGMe7Hc3Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GGMe7Xc3Ed-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GGMe7nc3Ed-96YWU42lBhw" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_XiJYYHc3Ed-96YWU42lBhw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_dcTfIXc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XiJYYXc3Ed-96YWU42lBhw" x="143" y="4"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_XjomIHc3Ed-96YWU42lBhw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_ddfx8Hc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XjomIXc3Ed-96YWU42lBhw" x="143" y="4"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_dtoDMHc3Ed-96YWU42lBhw" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_dgCIkHc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_dtoDMXc3Ed-96YWU42lBhw" x="79" y="40"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GGMe73c3Ed-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GGMe8Hc3Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GGMe8Xc3Ed-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GGMe8nc3Ed-96YWU42lBhw" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GGMe83c3Ed-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GGMe9Hc3Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GGMe9Xc3Ed-96YWU42lBhw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_GGMe4Xc3Ed-96YWU42lBhw"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_dZn-knc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GGMe4nc3Ed-96YWU42lBhw" x="81" y="441" width="275" height="142"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_6p_E0Hc3Ed-96YWU42lBhw" type="2004" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6qI10Hc3Ed-96YWU42lBhw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6qI10Xc3Ed-96YWU42lBhw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6qI10nc3Ed-96YWU42lBhw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6qI103c3Ed-96YWU42lBhw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_J3oTsHc4Ed-96YWU42lBhw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_J3oTsXc4Ed-96YWU42lBhw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_6qI11nc3Ed-96YWU42lBhw" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_6qI113c3Ed-96YWU42lBhw" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_6qI12Hc3Ed-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_6qI12Xc3Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6qI12nc3Ed-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_6qI123c3Ed-96YWU42lBhw" type="7007">
+ <children xmi:type="notation:Shape" xmi:id="_wpqN8He8Ed-C3vabgS4Hag" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_s5JwwXe8Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_wpqN8Xe8Ed-C3vabgS4Hag" x="99" y="7"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_wqsvwHe8Ed-C3vabgS4Hag" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_s714YHe8Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_wqsvwXe8Ed-C3vabgS4Hag" x="99" y="7"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_wrTMsHe8Ed-C3vabgS4Hag" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_s968AXe8Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_wrTMsXe8Ed-C3vabgS4Hag" x="99" y="7"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_6qI13Hc3Ed-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_6qI13Xc3Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6qI13nc3Ed-96YWU42lBhw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_6qI133c3Ed-96YWU42lBhw" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_6qI14Hc3Ed-96YWU42lBhw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_6qI14Xc3Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6qI14nc3Ed-96YWU42lBhw"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_VGoR0HcvEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6p_E0Xc3Ed-96YWU42lBhw" x="499" y="440" width="247" height="139"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_KTlq8He8Ed-C3vabgS4Hag" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KTlq83e8Ed-C3vabgS4Hag" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KTlq9He8Ed-C3vabgS4Hag" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KTlq9Xe8Ed-C3vabgS4Hag" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KTlq9ne8Ed-C3vabgS4Hag" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ql6koHe8Ed-C3vabgS4Hag" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ql6koXe8Ed-C3vabgS4Hag" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_KTlq-Xe8Ed-C3vabgS4Hag" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_KTlq-ne8Ed-C3vabgS4Hag" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_KTlq-3e8Ed-C3vabgS4Hag"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_KTlq_He8Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KTlq_Xe8Ed-C3vabgS4Hag"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_KTlq_ne8Ed-C3vabgS4Hag" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_KTlq_3e8Ed-C3vabgS4Hag"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_KTlrAHe8Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KTlrAXe8Ed-C3vabgS4Hag"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_KTlrAne8Ed-C3vabgS4Hag" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_KTlrA3e8Ed-C3vabgS4Hag"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_KTlrBHe8Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KTlrBXe8Ed-C3vabgS4Hag"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_KTlq8Xe8Ed-C3vabgS4Hag"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_2fWrcHe7Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KTlq8ne8Ed-C3vabgS4Hag" x="543" y="266" width="254"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ObqeJXe9Ed-C3vabgS4Hag" type="2004" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ObqeJne9Ed-C3vabgS4Hag" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ObqeJ3e9Ed-C3vabgS4Hag" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ObqeKHe9Ed-C3vabgS4Hag" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ObqeKXe9Ed-C3vabgS4Hag" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ObqeKne9Ed-C3vabgS4Hag" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ObqeK3e9Ed-C3vabgS4Hag" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ObqeLHe9Ed-C3vabgS4Hag" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ObqeLXe9Ed-C3vabgS4Hag" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ObqeLne9Ed-C3vabgS4Hag"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ObqeL3e9Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ObqeMHe9Ed-C3vabgS4Hag"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ObqeMXe9Ed-C3vabgS4Hag" type="7007">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ObqeMne9Ed-C3vabgS4Hag"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ObqeM3e9Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ObqeNHe9Ed-C3vabgS4Hag"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ObqeNXe9Ed-C3vabgS4Hag" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ObqeNne9Ed-C3vabgS4Hag"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ObqeN3e9Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ObqeOHe9Ed-C3vabgS4Hag"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_QJNf2HOxEd-nKvj-XTCBkg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ObqeOXe9Ed-C3vabgS4Hag" x="950" y="106" width="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ObqeOne9Ed-C3vabgS4Hag" type="2004" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ObqeO3e9Ed-C3vabgS4Hag" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ObqePHe9Ed-C3vabgS4Hag" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ObqePXe9Ed-C3vabgS4Hag" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ObqePne9Ed-C3vabgS4Hag" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ObqeP3e9Ed-C3vabgS4Hag" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ObqeQHe9Ed-C3vabgS4Hag" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ObqeQXe9Ed-C3vabgS4Hag" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ObqeQne9Ed-C3vabgS4Hag" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ObqeQ3e9Ed-C3vabgS4Hag"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ObqeRHe9Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ObqeRXe9Ed-C3vabgS4Hag"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ObqeRne9Ed-C3vabgS4Hag" type="7007">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ObqeR3e9Ed-C3vabgS4Hag"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ObqeSHe9Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ObqeSXe9Ed-C3vabgS4Hag"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ObqeSne9Ed-C3vabgS4Hag" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ObqeS3e9Ed-C3vabgS4Hag"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ObqeTHe9Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ObqeTXe9Ed-C3vabgS4Hag"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_HK-0B3PGEd-bh5e9e7eOjw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ObqeTne9Ed-C3vabgS4Hag" x="878" y="285" width="334" height="110"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_fx80gHe9Ed-C3vabgS4Hag" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fx80g3e9Ed-C3vabgS4Hag" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fx80hHe9Ed-C3vabgS4Hag" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fx80hXe9Ed-C3vabgS4Hag" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fx80hne9Ed-C3vabgS4Hag" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhQ-4He9Ed-C3vabgS4Hag" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhQ-4Xe9Ed-C3vabgS4Hag" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_fx80iXe9Ed-C3vabgS4Hag" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_fx80ine9Ed-C3vabgS4Hag" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_fx80i3e9Ed-C3vabgS4Hag"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_fx80jHe9Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fx80jXe9Ed-C3vabgS4Hag"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_fx80jne9Ed-C3vabgS4Hag" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_fx80j3e9Ed-C3vabgS4Hag"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_fx80kHe9Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fx80kXe9Ed-C3vabgS4Hag"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_fx80kne9Ed-C3vabgS4Hag" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_fx80k3e9Ed-C3vabgS4Hag"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_fx80lHe9Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fx80lXe9Ed-C3vabgS4Hag"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_fx80gXe9Ed-C3vabgS4Hag"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_dhhWUHc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fx80gne9Ed-C3vabgS4Hag" x="918" y="566" width="254"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_g60hEHe9Ed-C3vabgS4Hag" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_g60hE3e9Ed-C3vabgS4Hag" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_g60hFHe9Ed-C3vabgS4Hag" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_g60hFXe9Ed-C3vabgS4Hag" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_g60hFne9Ed-C3vabgS4Hag" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kZSzEHe9Ed-C3vabgS4Hag" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kZSzEXe9Ed-C3vabgS4Hag" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_g60hGXe9Ed-C3vabgS4Hag" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_g60hGne9Ed-C3vabgS4Hag" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_g60hG3e9Ed-C3vabgS4Hag"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_g60hHHe9Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g60hHXe9Ed-C3vabgS4Hag"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_g6-SEHe9Ed-C3vabgS4Hag" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_g6-SEXe9Ed-C3vabgS4Hag"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_g6-SEne9Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g6-SE3e9Ed-C3vabgS4Hag"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_g6-SFHe9Ed-C3vabgS4Hag" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_g6-SFXe9Ed-C3vabgS4Hag"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_g6-SFne9Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g6-SF3e9Ed-C3vabgS4Hag"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_g60hEXe9Ed-C3vabgS4Hag"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_7-bbAHPQEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g60hEne9Ed-C3vabgS4Hag" x="910" y="446" width="270"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_qR_r0He9Ed-C3vabgS4Hag" type="2012" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qR_r03e9Ed-C3vabgS4Hag" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qR_r1He9Ed-C3vabgS4Hag" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qR_r1Xe9Ed-C3vabgS4Hag" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qR_r1ne9Ed-C3vabgS4Hag" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qR_r13e9Ed-C3vabgS4Hag" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qR_r2He9Ed-C3vabgS4Hag" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_qR_r2Xe9Ed-C3vabgS4Hag" type="5038"/>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_qR_r0Xe9Ed-C3vabgS4Hag"/>
+ <element xmi:type="uml:Comment" href="CommandStackFramework.uml#_2WaK0Xe7Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qR_r0ne9Ed-C3vabgS4Hag" x="681" y="616"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_xuPa8He9Ed-C3vabgS4Hag" type="2012" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xuPa83e9Ed-C3vabgS4Hag" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xuPa9He9Ed-C3vabgS4Hag" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xuPa9Xe9Ed-C3vabgS4Hag" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xuPa9ne9Ed-C3vabgS4Hag" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xuPa93e9Ed-C3vabgS4Hag" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xuPa-He9Ed-C3vabgS4Hag" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_xuPa-Xe9Ed-C3vabgS4Hag" type="5038"/>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_xuPa8Xe9Ed-C3vabgS4Hag"/>
+ <element xmi:type="uml:Comment" href="CommandStackFramework.uml#_2fWrcXe7Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xuPa8ne9Ed-C3vabgS4Hag" x="395" y="327"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_niRpkXc2Ed-96YWU42lBhw"/>
+ <element xmi:type="uml:Model" href="CommandStackFramework.uml#_JJIvUHOxEd-nKvj-XTCBkg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_GHYxsHc3Ed-96YWU42lBhw" type="4002" source="_GGMe4Hc3Ed-96YWU42lBhw" target="_0Hh54Hc2Ed-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GHYxs3c3Ed-96YWU42lBhw" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GHYxtHc3Ed-96YWU42lBhw" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_GHYxsXc3Ed-96YWU42lBhw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_daEqgXc2Ed-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GHYxsnc3Ed-96YWU42lBhw" points="[0, 0, -217, -184]$[112, 96, -105, -88]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_SIj1YHe3Ed-j1aWhDOGgOg" type="4001" source="_GGMe4Hc3Ed-96YWU42lBhw" target="_6p_E0Hc3Ed-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_SI2wUHe3Ed-j1aWhDOGgOg" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_SI2wUXe3Ed-j1aWhDOGgOg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_SI2wUne3Ed-j1aWhDOGgOg" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_SI2wU3e3Ed-j1aWhDOGgOg" x="9" y="106"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_SI2wVHe3Ed-j1aWhDOGgOg" visible="false" type="6003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yhdPUHe3Ed-j1aWhDOGgOg" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_y84AAHe3Ed-j1aWhDOGgOg" key="CustomAppearance_MaskValue" value="0"/>
+ </eAnnotations>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_SI2wVXe3Ed-j1aWhDOGgOg" x="79" y="-74"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_SI2wVne3Ed-j1aWhDOGgOg" visible="false" type="6005">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_to_EgHe3Ed-j1aWhDOGgOg" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tpIOcHe3Ed-j1aWhDOGgOg" key="CustomAppearance_MaskValue" value="46"/>
+ </eAnnotations>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_SI2wV3e3Ed-j1aWhDOGgOg" x="-21" y="20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_SIj1YXe3Ed-j1aWhDOGgOg" fontHeight="8"/>
+ <element xmi:type="uml:Association" href="CommandStackFramework.uml#_QN6toXe3Ed-j1aWhDOGgOg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SIj1Yne3Ed-j1aWhDOGgOg" points="[138, -9, -254, 14]$[307, -18, -85, 5]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_M9KVQHe8Ed-C3vabgS4Hag" type="4002" source="_KTlq8He8Ed-C3vabgS4Hag" target="_9MrggHc2Ed-96YWU42lBhw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_M9KVQ3e8Ed-C3vabgS4Hag" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_M9KVRHe8Ed-C3vabgS4Hag" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_M9KVQXe8Ed-C3vabgS4Hag" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_2ff1YHe7Ed-C3vabgS4Hag"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M9KVQne8Ed-C3vabgS4Hag" points="[-23, -34, 244, 363]$[-239, -355, 28, 42]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ObqeIHe9Ed-C3vabgS4Hag" type="4002" source="_ObqeOne9Ed-C3vabgS4Hag" target="_ObqeJXe9Ed-C3vabgS4Hag" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ObqeIXe9Ed-C3vabgS4Hag" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ObqeIne9Ed-C3vabgS4Hag" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ObqeI3e9Ed-C3vabgS4Hag" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_HK-0CXPGEd-bh5e9e7eOjw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ObqeJHe9Ed-C3vabgS4Hag" points="[-84, -55, 203, 135]$[-287, -190, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_g73C4He9Ed-C3vabgS4Hag" type="4002" source="_fx80gHe9Ed-C3vabgS4Hag" target="_g60hEHe9Ed-C3vabgS4Hag" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_g73C43e9Ed-C3vabgS4Hag" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_g73C5He9Ed-C3vabgS4Hag" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_g73C4Xe9Ed-C3vabgS4Hag" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_2Wj70He7Ed-C3vabgS4Hag"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_g73C4ne9Ed-C3vabgS4Hag" points="[-45, -25, 859, 477]$[-904, -502, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_7D6w4He9Ed-C3vabgS4Hag" type="4008" source="_g60hEHe9Ed-C3vabgS4Hag" target="_ObqeOne9Ed-C3vabgS4Hag" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_7D6w43e9Ed-C3vabgS4Hag" visible="false" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7D6w5He9Ed-C3vabgS4Hag" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_7D6w5Xe9Ed-C3vabgS4Hag" visible="false" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7D6w5ne9Ed-C3vabgS4Hag" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_7D6w4Xe9Ed-C3vabgS4Hag" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_7-bbBHPQEd-NtftfyF3YZw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7D6w4ne9Ed-C3vabgS4Hag" points="[6, -42, -18, 106]$[15, -93, -9, 55]"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_EiaVUHeiEd-udeJ8hQXrBA" type="PapyrusUMLClassDiagram" name="Eclipse Undo/redo Handlers" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_fm85sHeiEd-udeJ8hQXrBA" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fm85s3eiEd-udeJ8hQXrBA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fm85tHeiEd-udeJ8hQXrBA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fm85tXeiEd-udeJ8hQXrBA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fm85tneiEd-udeJ8hQXrBA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_HRswoHejEd-udeJ8hQXrBA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HRswoXejEd-udeJ8hQXrBA" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_fm85uXeiEd-udeJ8hQXrBA" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_fm85uneiEd-udeJ8hQXrBA" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_fm85u3eiEd-udeJ8hQXrBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_fm85vHeiEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fm85vXeiEd-udeJ8hQXrBA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_fm85vneiEd-udeJ8hQXrBA" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_fm85v3eiEd-udeJ8hQXrBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_fm85wHeiEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fm85wXeiEd-udeJ8hQXrBA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_fm85wneiEd-udeJ8hQXrBA" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_fm85w3eiEd-udeJ8hQXrBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_fm85xHeiEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fm85xXeiEd-udeJ8hQXrBA"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_fm85sXeiEd-udeJ8hQXrBA"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_auJ-wHeiEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fm85sneiEd-udeJ8hQXrBA" x="303" y="189"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_hySv4HeiEd-udeJ8hQXrBA" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hySv43eiEd-udeJ8hQXrBA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hySv5HeiEd-udeJ8hQXrBA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hySv5XeiEd-udeJ8hQXrBA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hySv5neiEd-udeJ8hQXrBA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H9Xj0HejEd-udeJ8hQXrBA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H9Xj0XejEd-udeJ8hQXrBA" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_hySv6XeiEd-udeJ8hQXrBA" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_hySv6neiEd-udeJ8hQXrBA" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_hySv63eiEd-udeJ8hQXrBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_hySv7HeiEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hySv7XeiEd-udeJ8hQXrBA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_hySv7neiEd-udeJ8hQXrBA" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_hySv73eiEd-udeJ8hQXrBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_hySv8HeiEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hySv8XeiEd-udeJ8hQXrBA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_hySv8neiEd-udeJ8hQXrBA" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_hySv83eiEd-udeJ8hQXrBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_hySv9HeiEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hySv9XeiEd-udeJ8hQXrBA"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_hySv4XeiEd-udeJ8hQXrBA"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_aumqsHeiEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hySv4neiEd-udeJ8hQXrBA" x="327" y="23" width="128"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_oHCEYHeiEd-udeJ8hQXrBA" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_oHCEY3eiEd-udeJ8hQXrBA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_oHCEZHeiEd-udeJ8hQXrBA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_oHCEZXeiEd-udeJ8hQXrBA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_oHCEZneiEd-udeJ8hQXrBA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_R1sIoHf3Ed-UesiQ66sMsw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_R1sIoXf3Ed-UesiQ66sMsw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_oHCEaXeiEd-udeJ8hQXrBA" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_oHCEaneiEd-udeJ8hQXrBA" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_oHCEa3eiEd-udeJ8hQXrBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_oHCEbHeiEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oHCEbXeiEd-udeJ8hQXrBA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_oHCEbneiEd-udeJ8hQXrBA" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_oHCEb3eiEd-udeJ8hQXrBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_oHCEcHeiEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oHCEcXeiEd-udeJ8hQXrBA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_oHCEcneiEd-udeJ8hQXrBA" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_oHCEc3eiEd-udeJ8hQXrBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_oHCEdHeiEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oHCEdXeiEd-udeJ8hQXrBA"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_oHCEYXeiEd-udeJ8hQXrBA"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_bXlWQHeiEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oHCEYneiEd-udeJ8hQXrBA" x="241" y="350"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_rbsTEHeiEd-udeJ8hQXrBA" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rbsTE3eiEd-udeJ8hQXrBA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rbsTFHeiEd-udeJ8hQXrBA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rbsTFXeiEd-udeJ8hQXrBA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rbsTFneiEd-udeJ8hQXrBA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_R1sIonf3Ed-UesiQ66sMsw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_R1sIo3f3Ed-UesiQ66sMsw" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_rbsTGXeiEd-udeJ8hQXrBA" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_rbsTGneiEd-udeJ8hQXrBA" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_rbsTG3eiEd-udeJ8hQXrBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_rbsTHHeiEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rbsTHXeiEd-udeJ8hQXrBA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_rbsTHneiEd-udeJ8hQXrBA" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_rbsTH3eiEd-udeJ8hQXrBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_rbsTIHeiEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rbsTIXeiEd-udeJ8hQXrBA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_rbsTIneiEd-udeJ8hQXrBA" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_rbsTI3eiEd-udeJ8hQXrBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_rbsTJHeiEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rbsTJXeiEd-udeJ8hQXrBA"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_rbsTEXeiEd-udeJ8hQXrBA"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_bZhP8HeiEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rbsTEneiEd-udeJ8hQXrBA" x="467" y="344"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_7AvqcHekEd-udeJ8hQXrBA" type="2004" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7AvqcnekEd-udeJ8hQXrBA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7Avqc3ekEd-udeJ8hQXrBA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7AvqdHekEd-udeJ8hQXrBA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7AvqdXekEd-udeJ8hQXrBA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9ATucHekEd-udeJ8hQXrBA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9ATucXekEd-udeJ8hQXrBA" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_7AvqeHekEd-udeJ8hQXrBA" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7AvqeXekEd-udeJ8hQXrBA" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7AvqenekEd-udeJ8hQXrBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7Avqe3ekEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7AvqfHekEd-udeJ8hQXrBA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7AvqfXekEd-udeJ8hQXrBA" type="7007">
+ <children xmi:type="notation:Shape" xmi:id="_K9PjYHelEd-udeJ8hQXrBA" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_J0X20nelEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_K9PjYXelEd-udeJ8hQXrBA" x="101" y="12"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7AvqfnekEd-udeJ8hQXrBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7Avqf3ekEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7AvqgHekEd-udeJ8hQXrBA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7AvqgXekEd-udeJ8hQXrBA" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7AvqgnekEd-udeJ8hQXrBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7Avqg3ekEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7AvqhHekEd-udeJ8hQXrBA"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_11UucXekEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7AvqcXekEd-udeJ8hQXrBA" x="40" y="184" width="171" height="104"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_L_aLAHelEd-udeJ8hQXrBA" type="2004" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_L_aLAnelEd-udeJ8hQXrBA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_L_aLA3elEd-udeJ8hQXrBA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_L_aLBHelEd-udeJ8hQXrBA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_L_aLBXelEd-udeJ8hQXrBA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NQxFMHelEd-udeJ8hQXrBA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NQxFMXelEd-udeJ8hQXrBA" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_L_aLCHelEd-udeJ8hQXrBA" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_L_aLCXelEd-udeJ8hQXrBA" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_L_aLCnelEd-udeJ8hQXrBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_L_aLC3elEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L_aLDHelEd-udeJ8hQXrBA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_L_aLDXelEd-udeJ8hQXrBA" type="7007">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_L_aLDnelEd-udeJ8hQXrBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_L_aLD3elEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L_aLEHelEd-udeJ8hQXrBA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_L_aLEXelEd-udeJ8hQXrBA" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_L_aLEnelEd-udeJ8hQXrBA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_L_aLE3elEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L_aLFHelEd-udeJ8hQXrBA"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_iN3cInejEd-udeJ8hQXrBA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L_aLAXelEd-udeJ8hQXrBA" x="44" y="25" width="165"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_EiaVUXeiEd-udeJ8hQXrBA"/>
+ <element xmi:type="uml:Model" href="CommandStackFramework.uml#_JJIvUHOxEd-nKvj-XTCBkg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_h0XzgHeiEd-udeJ8hQXrBA" type="4002" source="_fm85sHeiEd-udeJ8hQXrBA" target="_hySv4HeiEd-udeJ8hQXrBA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_h0Xzg3eiEd-udeJ8hQXrBA" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_h0XzhHeiEd-udeJ8hQXrBA" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_h0XzgXeiEd-udeJ8hQXrBA" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_aumqsXeiEd-udeJ8hQXrBA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_h0XzgneiEd-udeJ8hQXrBA" points="[-65, -34, 363, 191]$[-428, -225, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_oH7cQHeiEd-udeJ8hQXrBA" type="4002" source="_oHCEYHeiEd-udeJ8hQXrBA" target="_fm85sHeiEd-udeJ8hQXrBA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_oH7cQ3eiEd-udeJ8hQXrBA" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_oH7cRHeiEd-udeJ8hQXrBA" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_oH7cQXeiEd-udeJ8hQXrBA" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_bXlWQneiEd-udeJ8hQXrBA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_oH7cQneiEd-udeJ8hQXrBA" points="[0, 0, -390, -223]$[330, 189, -60, -34]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_rcI_AHeiEd-udeJ8hQXrBA" type="4002" source="_rbsTEHeiEd-udeJ8hQXrBA" target="_fm85sHeiEd-udeJ8hQXrBA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_rcI_A3eiEd-udeJ8hQXrBA" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_rcI_BHeiEd-udeJ8hQXrBA" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_rcI_AXeiEd-udeJ8hQXrBA" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_bZrA8XeiEd-udeJ8hQXrBA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rcI_AneiEd-udeJ8hQXrBA" points="[0, 0, -390, -223]$[330, 189, -60, -34]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_7BpCUHekEd-udeJ8hQXrBA" type="4008" source="_fm85sHeiEd-udeJ8hQXrBA" target="_7AvqcHekEd-udeJ8hQXrBA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_7BpCU3ekEd-udeJ8hQXrBA" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7BpCVHekEd-udeJ8hQXrBA" y="67"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_7BpCVXekEd-udeJ8hQXrBA" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7BpCVnekEd-udeJ8hQXrBA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_7BpCUXekEd-udeJ8hQXrBA" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_11efcHekEd-udeJ8hQXrBA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7BpCUnekEd-udeJ8hQXrBA" points="[-71, -42, 319, 189]$[-390, -231, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_MAcs0HelEd-udeJ8hQXrBA" type="4002" source="_7AvqcHekEd-udeJ8hQXrBA" target="_L_aLAHelEd-udeJ8hQXrBA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_MAcs03elEd-udeJ8hQXrBA" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_MAcs1HelEd-udeJ8hQXrBA" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_MAcs0XelEd-udeJ8hQXrBA" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_J0X20XelEd-udeJ8hQXrBA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MAcs0nelEd-udeJ8hQXrBA" points="[-28, -52, 97, 184]$[-125, -236, 0, 0]"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_EQY70HlQEd-G1sP92iSIng" type="PapyrusUMLClassDiagram" name="emf commands" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_FFcUgHlQEd-G1sP92iSIng" type="2004" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FFcUgnlQEd-G1sP92iSIng" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FFcUg3lQEd-G1sP92iSIng" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FFcUhHlQEd-G1sP92iSIng" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FFcUhXlQEd-G1sP92iSIng" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EM_0IHlREd-G1sP92iSIng" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EM_0IXlREd-G1sP92iSIng" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_FFcUiHlQEd-G1sP92iSIng" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_FFcUiXlQEd-G1sP92iSIng" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_FFcUinlQEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_FFcUi3lQEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FFcUjHlQEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_FFcUjXlQEd-G1sP92iSIng" type="7007">
+ <children xmi:type="notation:Shape" xmi:id="_iKcUwHlQEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpWU2HcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_iKcUwXlQEd-G1sP92iSIng" x="45" y="7"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_iLonkHlQEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpWU0XcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_iLonkXlQEd-G1sP92iSIng" x="45" y="7"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_iMYOcHlQEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpWU1ncqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_iMYOcXlQEd-G1sP92iSIng" x="45" y="7"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_FFcUjnlQEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_FFcUj3lQEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FFcUkHlQEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_FFcUkXlQEd-G1sP92iSIng" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_FFcUknlQEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_FFcUk3lQEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FFcUlHlQEd-G1sP92iSIng"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_vowe8HcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FFcUgXlQEd-G1sP92iSIng" x="324" y="33" width="170" height="149"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_G5XwQHlQEd-G1sP92iSIng" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G5XwQ3lQEd-G1sP92iSIng" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G5XwRHlQEd-G1sP92iSIng" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G5XwRXlQEd-G1sP92iSIng" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G5XwRnlQEd-G1sP92iSIng" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EM_0InlREd-G1sP92iSIng" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EM_0I3lREd-G1sP92iSIng" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_G5XwSXlQEd-G1sP92iSIng" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_G5XwSnlQEd-G1sP92iSIng" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_G5XwS3lQEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_G5XwTHlQEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G5XwTXlQEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_G5XwTnlQEd-G1sP92iSIng" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_G5XwT3lQEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_G5XwUHlQEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G5XwUXlQEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_G5XwUnlQEd-G1sP92iSIng" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_G5XwU3lQEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_G5XwVHlQEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G5XwVXlQEd-G1sP92iSIng"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_G5XwQXlQEd-G1sP92iSIng"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_vgkMQHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G5XwQnlQEd-G1sP92iSIng" x="329" y="216" width="161"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_L7-ugHlQEd-G1sP92iSIng" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_L7-ug3lQEd-G1sP92iSIng" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_L7-uhHlQEd-G1sP92iSIng" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_L7-uhXlQEd-G1sP92iSIng" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_L7-uhnlQEd-G1sP92iSIng" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EM_0JHlREd-G1sP92iSIng" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EM_0JXlREd-G1sP92iSIng" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_L7-uiXlQEd-G1sP92iSIng" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_L7-uinlQEd-G1sP92iSIng" type="7017">
+ <children xmi:type="notation:Shape" xmi:id="_V0iIAHlQEd-G1sP92iSIng" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_vwW7w3cqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_V0iIAXlQEd-G1sP92iSIng" x="62" y="8"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_L7-ui3lQEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_L7-ujHlQEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L7-ujXlQEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_L7-ujnlQEd-G1sP92iSIng" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_rRFJIHlQEd-G1sP92iSIng" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vw8xp3cqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_rRFJIXlQEd-G1sP92iSIng" x="94" y="8"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_L7-uj3lQEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_L7-ukHlQEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L7-ukXlQEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_L7-uknlQEd-G1sP92iSIng" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_L7-uk3lQEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_L7-ulHlQEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L7-ulXlQEd-G1sP92iSIng"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_L7-ugXlQEd-G1sP92iSIng"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_vwW7wHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L7-ugnlQEd-G1sP92iSIng" x="37" y="344" width="216" height="127"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_NArFsHlQEd-G1sP92iSIng" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NArFs3lQEd-G1sP92iSIng" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NArFtHlQEd-G1sP92iSIng" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NArFtXlQEd-G1sP92iSIng" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NArFtnlQEd-G1sP92iSIng" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EM_0JnlREd-G1sP92iSIng" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EM_0J3lREd-G1sP92iSIng" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_NArFuXlQEd-G1sP92iSIng" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_NArFunlQEd-G1sP92iSIng" type="7017">
+ <children xmi:type="notation:Shape" xmi:id="_ZTAaAHlQEd-G1sP92iSIng" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_vthqM3cqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ZTAaAXlQEd-G1sP92iSIng" x="42" y="5"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NArFu3lQEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NArFvHlQEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NArFvXlQEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_NArFvnlQEd-G1sP92iSIng" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_uQ2s8HlQEd-G1sP92iSIng" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vt0lIHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uQ2s8XlQEd-G1sP92iSIng" x="73" y="4"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NArFv3lQEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NArFwHlQEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NArFwXlQEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_NArFwnlQEd-G1sP92iSIng" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NArFw3lQEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NArFxHlQEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NArFxXlQEd-G1sP92iSIng"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_NArFsXlQEd-G1sP92iSIng"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_vthqMHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NArFsnlQEd-G1sP92iSIng" x="315" y="344" width="188" height="127"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_x3rCoHlQEd-G1sP92iSIng" type="2008" fontHeight="8" fillColor="12560536" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_x3rCo3lQEd-G1sP92iSIng" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_x3rCpHlQEd-G1sP92iSIng" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_x3rCpXlQEd-G1sP92iSIng" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_x3rCpnlQEd-G1sP92iSIng" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EM_0KHlREd-G1sP92iSIng" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EM_0KXlREd-G1sP92iSIng" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_x3rCqXlQEd-G1sP92iSIng" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_x3rCqnlQEd-G1sP92iSIng" type="7017">
+ <children xmi:type="notation:Shape" xmi:id="_0ojO0HlQEd-G1sP92iSIng" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_0YO-cHctEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0ojO0XlQEd-G1sP92iSIng" x="62" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1WJ7sHlQEd-G1sP92iSIng" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_0YF0hHctEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1WJ7sXlQEd-G1sP92iSIng" x="70" y="6"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_x3rCq3lQEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_x3rCrHlQEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x3rCrXlQEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_x3rCrnlQEd-G1sP92iSIng" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_zWAB0HlQEd-G1sP92iSIng" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_0YYvcXctEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_zWAB0XlQEd-G1sP92iSIng" x="83" y="4"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1tbWwHlREd-G1sP92iSIng" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_0Y1bZHctEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1tbWwXlREd-G1sP92iSIng" x="61" y="18"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_x3rCr3lQEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_x3rCsHlQEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x3rCsXlQEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_x3rCsnlQEd-G1sP92iSIng" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_x3rCs3lQEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_x3rCtHlQEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x3rCtXlQEd-G1sP92iSIng"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_x3rCoXlQEd-G1sP92iSIng"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_0X8DgHctEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x3rConlQEd-G1sP92iSIng" x="552" y="344" width="256" height="127"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_EQY70XlQEd-G1sP92iSIng"/>
+ <element xmi:type="uml:Model" href="CommandStackFramework.uml#_JJIvUHOxEd-nKvj-XTCBkg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_G6tNAHlQEd-G1sP92iSIng" type="4008" source="_G5XwQHlQEd-G1sP92iSIng" target="_FFcUgHlQEd-G1sP92iSIng" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_G6tNA3lQEd-G1sP92iSIng" visible="false" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_G6tNBHlQEd-G1sP92iSIng" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_G6tNBXlQEd-G1sP92iSIng" visible="false" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_G6tNBnlQEd-G1sP92iSIng" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_G6tNAXlQEd-G1sP92iSIng" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_vgtWMXcqEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G6tNAnlQEd-G1sP92iSIng" points="[-3, -34, 13, 162]$[-12, -146, 4, 50]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_L8bacHlQEd-G1sP92iSIng" type="4002" source="_L7-ugHlQEd-G1sP92iSIng" target="_G5XwQHlQEd-G1sP92iSIng" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_L8bac3lQEd-G1sP92iSIng" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_L8badHlQEd-G1sP92iSIng" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_L8bacXlQEd-G1sP92iSIng" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_vwW7wncqEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_L8bacnlQEd-G1sP92iSIng" points="[0, 0, -455, -422]$[418, 388, -37, -34]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_NBtngHlQEd-G1sP92iSIng" type="4002" source="_NArFsHlQEd-G1sP92iSIng" target="_G5XwQHlQEd-G1sP92iSIng" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_NBtng3lQEd-G1sP92iSIng" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NBtnhHlQEd-G1sP92iSIng" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_NBtngXlQEd-G1sP92iSIng" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_vthqMncqEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NBtngnlQEd-G1sP92iSIng" points="[0, 0, -455, -422]$[418, 388, -37, -34]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_x43VcHlQEd-G1sP92iSIng" type="4002" source="_x3rCoHlQEd-G1sP92iSIng" target="_G5XwQHlQEd-G1sP92iSIng" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_x43Vc3lQEd-G1sP92iSIng" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_x43VdHlQEd-G1sP92iSIng" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_x43VcXlQEd-G1sP92iSIng" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_0YF0gHctEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_x43VcnlQEd-G1sP92iSIng" points="[0, 0, -335, -385]$[305, 351, -30, -34]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_McflIHlREd-G1sP92iSIng" id="(0.8584905660377359,0.9761904761904762)"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_Rg9SoHlTEd-G1sP92iSIng" type="PapyrusUMLClassDiagram" name="all stack and commands" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_Vd-h1XlTEd-G1sP92iSIng" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-h1nlTEd-G1sP92iSIng" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-h13lTEd-G1sP92iSIng" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-h2HlTEd-G1sP92iSIng" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-h2XlTEd-G1sP92iSIng" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-h2nlTEd-G1sP92iSIng" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-h23lTEd-G1sP92iSIng" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-h3HlTEd-G1sP92iSIng" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-h3XlTEd-G1sP92iSIng" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-h3nlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-h33lTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-h4HlTEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-h4XlTEd-G1sP92iSIng" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-h4nlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-h43lTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-h5HlTEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-h5XlTEd-G1sP92iSIng" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-h5nlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-h53lTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-h6HlTEd-G1sP92iSIng"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_Vd-h6XlTEd-G1sP92iSIng"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_vmE-YHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-h6nlTEd-G1sP92iSIng" x="215" y="205" width="263"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-h63lTEd-G1sP92iSIng" type="2004" fontHeight="8" fillColor="12560536" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-h7HlTEd-G1sP92iSIng" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-h7XlTEd-G1sP92iSIng" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-h7nlTEd-G1sP92iSIng" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-h73lTEd-G1sP92iSIng" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-h8HlTEd-G1sP92iSIng" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-h8XlTEd-G1sP92iSIng" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-h8nlTEd-G1sP92iSIng" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-h83lTEd-G1sP92iSIng" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-h9HlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-h9XlTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-h9nlTEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-h93lTEd-G1sP92iSIng" type="7007">
+ <children xmi:type="notation:Shape" xmi:id="_Vd-h-HlTEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-h-XlTEd-G1sP92iSIng" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-h-nlTEd-G1sP92iSIng" key="CustomAppearance_MaskValue" value="778"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_8vXzFHcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-h-3lTEd-G1sP92iSIng" x="96" y="13"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-h_HlTEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_8v0fAncuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-h_XlTEd-G1sP92iSIng" x="96" y="13"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-h_nlTEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_8vOCEncuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-h_3lTEd-G1sP92iSIng" x="96" y="13"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-iAHlTEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-iAXlTEd-G1sP92iSIng" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-iAnlTEd-G1sP92iSIng" key="CustomAppearance_MaskValue" value="778"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_8vXzEXcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-iA3lTEd-G1sP92iSIng" x="96" y="13"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-iBHlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-iBXlTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-iBnlTEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-iB3lTEd-G1sP92iSIng" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-iCHlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-iCXlTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-iCnlTEd-G1sP92iSIng"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_8gd0YHcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-iC3lTEd-G1sP92iSIng" x="613" y="401" width="291" height="176"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-iFHlTEd-G1sP92iSIng" type="2008" fontHeight="8" fillColor="12560536" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-iFXlTEd-G1sP92iSIng" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-iFnlTEd-G1sP92iSIng" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-iF3lTEd-G1sP92iSIng" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-iGHlTEd-G1sP92iSIng" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-iGXlTEd-G1sP92iSIng" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-iGnlTEd-G1sP92iSIng" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-iG3lTEd-G1sP92iSIng" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-iHHlTEd-G1sP92iSIng" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-iHXlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-iHnlTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-iH3lTEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-iIHlTEd-G1sP92iSIng" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_Vd-iIXlTEd-G1sP92iSIng" type="3013" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-iInlTEd-G1sP92iSIng" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-iI3lTEd-G1sP92iSIng" key="CustomAppearance_MaskValue" value="778"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_9fMtgHcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-iJHlTEd-G1sP92iSIng" x="48" y="7"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-iJXlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-iJnlTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-iJ3lTEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-iKHlTEd-G1sP92iSIng" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-iKXlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-iKnlTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-iK3lTEd-G1sP92iSIng"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_Vd-iLHlTEd-G1sP92iSIng"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_9fDjkHcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-iLXlTEd-G1sP92iSIng" x="635" y="70" width="247"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-iM3lTEd-G1sP92iSIng" type="2004" fontHeight="8" fillColor="12560536" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-iNHlTEd-G1sP92iSIng" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-iNXlTEd-G1sP92iSIng" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-iNnlTEd-G1sP92iSIng" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-iN3lTEd-G1sP92iSIng" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-iOHlTEd-G1sP92iSIng" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-iOXlTEd-G1sP92iSIng" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-iOnlTEd-G1sP92iSIng" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-iO3lTEd-G1sP92iSIng" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-iPHlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-iPXlTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-iPnlTEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-iP3lTEd-G1sP92iSIng" type="7007">
+ <children xmi:type="notation:Shape" xmi:id="_Vd-iQHlTEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-iQXlTEd-G1sP92iSIng" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-iQnlTEd-G1sP92iSIng" key="CustomAppearance_MaskValue" value="778"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_0xkrg3ctEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-iQ3lTEd-G1sP92iSIng" x="71" y="3"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-iRHlTEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_0xt1c3ctEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-iRXlTEd-G1sP92iSIng" x="71" y="3"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-iRnlTEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_0xt1cHctEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-iR3lTEd-G1sP92iSIng" x="71" y="3"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-iSHlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-iSXlTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-iSnlTEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-iS3lTEd-G1sP92iSIng" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-iTHlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-iTXlTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-iTnlTEd-G1sP92iSIng"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_0xkrgHctEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-iT3lTEd-G1sP92iSIng" x="614" y="608" width="285" height="149"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-iXXlTEd-G1sP92iSIng" type="2008" fontHeight="8" fillColor="8047085" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-iXnlTEd-G1sP92iSIng" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-iX3lTEd-G1sP92iSIng" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-iYHlTEd-G1sP92iSIng" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-iYXlTEd-G1sP92iSIng" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-iYnlTEd-G1sP92iSIng" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-iY3lTEd-G1sP92iSIng" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-iZHlTEd-G1sP92iSIng" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-iZXlTEd-G1sP92iSIng" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-iZnlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-iZ3lTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-iaHlTEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-iaXlTEd-G1sP92iSIng" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_Vd-ianlTEd-G1sP92iSIng" type="3013" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-ia3lTEd-G1sP92iSIng" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-ibHlTEd-G1sP92iSIng" key="CustomAppearance_MaskValue" value="778"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_OjVugXcwEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-ibXlTEd-G1sP92iSIng" x="25" y="5"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-ibnlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-ib3lTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-icHlTEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-icXlTEd-G1sP92iSIng" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-icnlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-ic3lTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-idHlTEd-G1sP92iSIng"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_Vd-idXlTEd-G1sP92iSIng"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_Oggc8HcwEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-idnlTEd-G1sP92iSIng" x="1141" y="182" width="241" height="134"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-id3lTEd-G1sP92iSIng" type="2004" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-ieHlTEd-G1sP92iSIng" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-ieXlTEd-G1sP92iSIng" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-ienlTEd-G1sP92iSIng" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-ie3lTEd-G1sP92iSIng" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-ifHlTEd-G1sP92iSIng" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-ifXlTEd-G1sP92iSIng" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-ifnlTEd-G1sP92iSIng" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-if3lTEd-G1sP92iSIng" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-igHlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-igXlTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-ignlTEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-ig3lTEd-G1sP92iSIng" type="7007">
+ <children xmi:type="notation:Shape" xmi:id="_Vd-ihHlTEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-ihXlTEd-G1sP92iSIng" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-ihnlTEd-G1sP92iSIng" key="CustomAppearance_MaskValue" value="778"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_s5JwwXe8Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-ih3lTEd-G1sP92iSIng" x="93" y="3"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-iiHlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-iiXlTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-iinlTEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-ii3lTEd-G1sP92iSIng" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-ijHlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-ijXlTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-ijnlTEd-G1sP92iSIng"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_VGoR0HcvEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-ij3lTEd-G1sP92iSIng" x="1355" y="592" width="237" height="78"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-il3lTEd-G1sP92iSIng" type="2004" fontHeight="8" fillColor="8047085" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-imHlTEd-G1sP92iSIng" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-imXlTEd-G1sP92iSIng" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-imnlTEd-G1sP92iSIng" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-im3lTEd-G1sP92iSIng" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-inHlTEd-G1sP92iSIng" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-inXlTEd-G1sP92iSIng" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-innlTEd-G1sP92iSIng" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-in3lTEd-G1sP92iSIng" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-ioHlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-ioXlTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-ionlTEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-io3lTEd-G1sP92iSIng" type="7007">
+ <children xmi:type="notation:Shape" xmi:id="_Vd-ipHlTEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_xQqCIHcwEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-ipXlTEd-G1sP92iSIng" x="85" y="8"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-ipnlTEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_xQgRIHcwEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-ip3lTEd-G1sP92iSIng" x="85" y="8"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-iqHlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-iqXlTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-iqnlTEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-iq3lTEd-G1sP92iSIng" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-irHlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-irXlTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-irnlTEd-G1sP92iSIng"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_OgqN8ncwEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-ir3lTEd-G1sP92iSIng" x="1032" y="586" width="220" height="178"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-itXlTEd-G1sP92iSIng" type="2008" fontHeight="8" fillColor="12560536" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-itnlTEd-G1sP92iSIng" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-it3lTEd-G1sP92iSIng" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-iuHlTEd-G1sP92iSIng" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-iuXlTEd-G1sP92iSIng" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-iunlTEd-G1sP92iSIng" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-iu3lTEd-G1sP92iSIng" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-ivHlTEd-G1sP92iSIng" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-ivXlTEd-G1sP92iSIng" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-ivnlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-iv3lTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-iwHlTEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-iwXlTEd-G1sP92iSIng" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_Vd-iwnlTEd-G1sP92iSIng" type="3013" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-iw3lTEd-G1sP92iSIng" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-ixHlTEd-G1sP92iSIng" key="CustomAppearance_MaskValue" value="778"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_8hz4MXcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-ixXlTEd-G1sP92iSIng" x="91" y="11"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-ixnlTEd-G1sP92iSIng" type="3013" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-ix3lTEd-G1sP92iSIng" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-iyHlTEd-G1sP92iSIng" key="CustomAppearance_MaskValue" value="778"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_8hXMQncuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-iyXlTEd-G1sP92iSIng" x="68" y="7"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-iynlTEd-G1sP92iSIng" type="3013" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-iy3lTEd-G1sP92iSIng" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-izHlTEd-G1sP92iSIng" key="CustomAppearance_MaskValue" value="778"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_8hg9QXcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-izXlTEd-G1sP92iSIng" x="113" y="38"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-iznlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-iz3lTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-i0HlTEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-i0XlTEd-G1sP92iSIng" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-i0nlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-i03lTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-i1HlTEd-G1sP92iSIng"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_Vd-i1XlTEd-G1sP92iSIng"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_8gUqcHcuEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-i1nlTEd-G1sP92iSIng" x="642" y="190" width="234" height="146"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-i43lTEd-G1sP92iSIng" type="2004" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-i5HlTEd-G1sP92iSIng" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-i5XlTEd-G1sP92iSIng" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-i5nlTEd-G1sP92iSIng" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-i53lTEd-G1sP92iSIng" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-i6HlTEd-G1sP92iSIng" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-i6XlTEd-G1sP92iSIng" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-i6nlTEd-G1sP92iSIng" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-i63lTEd-G1sP92iSIng" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-i7HlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-i7XlTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-i7nlTEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-i73lTEd-G1sP92iSIng" type="7007">
+ <children xmi:type="notation:Shape" xmi:id="_Vd-i8HlTEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vq_Tk3cqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-i8XlTEd-G1sP92iSIng" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-i8nlTEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vrS1mHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-i83lTEd-G1sP92iSIng" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-i9HlTEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vq_TkXcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-i9XlTEd-G1sP92iSIng" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-i9nlTEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vq_TlncqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-i93lTEd-G1sP92iSIng" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-i-HlTEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vq_TmXcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-i-XlTEd-G1sP92iSIng" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-i-nlTEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vq2JpHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-i-3lTEd-G1sP92iSIng" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-i_HlTEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vrS1lncqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-i_XlTEd-G1sP92iSIng" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-i_nlTEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vrb_gHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-i_3lTEd-G1sP92iSIng" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-jAHlTEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vrS1lHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-jAXlTEd-G1sP92iSIng" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-jAnlTEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vrS1kXcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-jA3lTEd-G1sP92iSIng" x="41" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vd-jBHlTEd-G1sP92iSIng" type="3007" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-jBXlTEd-G1sP92iSIng" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-jBnlTEd-G1sP92iSIng" key="CustomAppearance_MaskValue" value="778"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vq2JoXcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-jB3lTEd-G1sP92iSIng" x="41" y="10"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-jCHlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-jCXlTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-jCnlTEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vd-jC3lTEd-G1sP92iSIng" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Vd-jDHlTEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Vd-jDXlTEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-jDnlTEd-G1sP92iSIng"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_vmE-YncqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vd-jD3lTEd-G1sP92iSIng" x="228" y="484" width="251" height="277"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Q4dSwHlUEd-G1sP92iSIng" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q4dSw3lUEd-G1sP92iSIng" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Q4dSxHlUEd-G1sP92iSIng" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q4dSxXlUEd-G1sP92iSIng" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Q4dSxnlUEd-G1sP92iSIng" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3Z2U8HlUEd-G1sP92iSIng" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3Z2U8XlUEd-G1sP92iSIng" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Q4dSyXlUEd-G1sP92iSIng" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Q4dSynlUEd-G1sP92iSIng" type="7017">
+ <children xmi:type="notation:Shape" xmi:id="_XZZQMHlUEd-G1sP92iSIng" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_N2vOMHlUEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XZZQMXlUEd-G1sP92iSIng" x="56" y="5"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_XZ_GEHlUEd-G1sP92iSIng" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_N1_nUHlUEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XZ_GEXlUEd-G1sP92iSIng" x="56" y="5"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Xaus8HlUEd-G1sP92iSIng" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_N1ssYHlUEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Xaus8XlUEd-G1sP92iSIng" x="56" y="5"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Q4dSy3lUEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Q4dSzHlUEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Q4dSzXlUEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Q4dSznlUEd-G1sP92iSIng" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_UhqOEHlUEd-G1sP92iSIng" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_N9TJMHlUEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_UhqOEXlUEd-G1sP92iSIng" x="38" y="9"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Q4dSz3lUEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Q4dS0HlUEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Q4dS0XlUEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Q4dS0nlUEd-G1sP92iSIng" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Q4dS03lUEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Q4dS1HlUEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Q4dS1XlUEd-G1sP92iSIng"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_Q4dSwXlUEd-G1sP92iSIng"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_NxFSIHlUEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Q4dSwnlUEd-G1sP92iSIng" x="1408" y="182" width="192" height="135"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tRDgAHlUEd-G1sP92iSIng" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tRDgAXlUEd-G1sP92iSIng" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tRDgAnlUEd-G1sP92iSIng" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tRDgA3lUEd-G1sP92iSIng" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tRDgBHlUEd-G1sP92iSIng" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tRDgBXlUEd-G1sP92iSIng" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tRDgBnlUEd-G1sP92iSIng" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_tRDgB3lUEd-G1sP92iSIng" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_tRDgCHlUEd-G1sP92iSIng" type="7017">
+ <children xmi:type="notation:Shape" xmi:id="_tRDgCXlUEd-G1sP92iSIng" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_da0RYHc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tRDgCnlUEd-G1sP92iSIng" x="48" y="14"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_tRDgC3lUEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_tRDgDHlUEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tRDgDXlUEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_tRDgDnlUEd-G1sP92iSIng" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_tRDgD3lUEd-G1sP92iSIng" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_dcTfIXc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tRDgEHlUEd-G1sP92iSIng" x="143" y="4"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tRDgEXlUEd-G1sP92iSIng" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_ddfx8Hc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tRDgEnlUEd-G1sP92iSIng" x="143" y="4"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tRDgE3lUEd-G1sP92iSIng" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_dgCIkHc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tRDgFHlUEd-G1sP92iSIng" x="79" y="40"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_tRDgFXlUEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_tRDgFnlUEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tRDgF3lUEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_tRDgGHlUEd-G1sP92iSIng" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_tRDgGXlUEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_tRDgGnlUEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tRDgG3lUEd-G1sP92iSIng"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_tRDgHHlUEd-G1sP92iSIng"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_dZn-knc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tRDgHXlUEd-G1sP92iSIng" x="1661" y="585" width="275" height="142"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tRDgHnlUEd-G1sP92iSIng" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tRDgH3lUEd-G1sP92iSIng" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tRDgIHlUEd-G1sP92iSIng" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tRDgIXlUEd-G1sP92iSIng" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tRDgInlUEd-G1sP92iSIng" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tRDgI3lUEd-G1sP92iSIng" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tRDgJHlUEd-G1sP92iSIng" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_tRDgJXlUEd-G1sP92iSIng" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_tRDgJnlUEd-G1sP92iSIng" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_tRDgJ3lUEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_tRDgKHlUEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tRDgKXlUEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_tRDgKnlUEd-G1sP92iSIng" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_tRDgK3lUEd-G1sP92iSIng" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_wYhRgXc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tRDgLHlUEd-G1sP92iSIng" x="50" y="4"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tRDgLXlUEd-G1sP92iSIng" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_wVPUAHc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tRDgLnlUEd-G1sP92iSIng" x="50" y="4"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tRDgL3lUEd-G1sP92iSIng" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_wXxqoXc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tRDgMHlUEd-G1sP92iSIng" x="50" y="4"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tRDgMXlUEd-G1sP92iSIng" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_wViO8Hc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tRDgMnlUEd-G1sP92iSIng" x="50" y="4"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tRDgM3lUEd-G1sP92iSIng" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_wU8ZEXc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tRDgNHlUEd-G1sP92iSIng" x="50" y="4"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tRDgNXlUEd-G1sP92iSIng" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_wW4SwHc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tRDgNnlUEd-G1sP92iSIng" x="50" y="4"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_tRDgN3lUEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_tRDgOHlUEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tRDgOXlUEd-G1sP92iSIng"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_tRDgOnlUEd-G1sP92iSIng" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_tRDgO3lUEd-G1sP92iSIng"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_tRDgPHlUEd-G1sP92iSIng"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tRDgPXlUEd-G1sP92iSIng"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_tRDgPnlUEd-G1sP92iSIng"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_daEqgHc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tRDgP3lUEd-G1sP92iSIng" x="2026" y="572" width="274" height="177"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_G7FKAHlcEd-d-NsLQZ_bEg" type="2004" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G7FKAXlcEd-d-NsLQZ_bEg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G7FKAnlcEd-d-NsLQZ_bEg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G7FKA3lcEd-d-NsLQZ_bEg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G7FKBHlcEd-d-NsLQZ_bEg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G7FKBXlcEd-d-NsLQZ_bEg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G7FKBnlcEd-d-NsLQZ_bEg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_G7FKB3lcEd-d-NsLQZ_bEg" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_G7FKCHlcEd-d-NsLQZ_bEg" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_G7FKCXlcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_G7FKCnlcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G7FKC3lcEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_G7FKDHlcEd-d-NsLQZ_bEg" type="7007">
+ <children xmi:type="notation:Shape" xmi:id="_G7FKDXlcEd-d-NsLQZ_bEg" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpWU2HcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_G7FKDnlcEd-d-NsLQZ_bEg" x="45" y="7"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_G7FKD3lcEd-d-NsLQZ_bEg" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpWU0XcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_G7FKEHlcEd-d-NsLQZ_bEg" x="45" y="7"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_G7FKEXlcEd-d-NsLQZ_bEg" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vpWU1ncqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_G7FKEnlcEd-d-NsLQZ_bEg" x="45" y="7"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_G7FKE3lcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_G7FKFHlcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G7FKFXlcEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_G7FKFnlcEd-d-NsLQZ_bEg" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_G7FKF3lcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_G7FKGHlcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G7FKGXlcEd-d-NsLQZ_bEg"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_vowe8HcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G7FKGnlcEd-d-NsLQZ_bEg" x="275" y="861" width="170" height="149"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_G7FKG3lcEd-d-NsLQZ_bEg" type="2008" fontHeight="8" fillColor="12560536" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G7FKHHlcEd-d-NsLQZ_bEg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G7FKHXlcEd-d-NsLQZ_bEg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G7FKHnlcEd-d-NsLQZ_bEg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G7FKH3lcEd-d-NsLQZ_bEg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G7FKIHlcEd-d-NsLQZ_bEg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G7FKIXlcEd-d-NsLQZ_bEg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_G7FKInlcEd-d-NsLQZ_bEg" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_G7FKI3lcEd-d-NsLQZ_bEg" type="7017">
+ <children xmi:type="notation:Shape" xmi:id="_G7FKJHlcEd-d-NsLQZ_bEg" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_0YO-cHctEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_G7FKJXlcEd-d-NsLQZ_bEg" x="62" y="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_G7FKJnlcEd-d-NsLQZ_bEg" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_0YF0hHctEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_G7FKJ3lcEd-d-NsLQZ_bEg" x="70" y="6"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_G7FKKHlcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_G7FKKXlcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G7FKKnlcEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_G7FKK3lcEd-d-NsLQZ_bEg" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_G7FKLHlcEd-d-NsLQZ_bEg" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_0YYvcXctEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_G7FKLXlcEd-d-NsLQZ_bEg" x="83" y="4"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_G7FKLnlcEd-d-NsLQZ_bEg" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_0Y1bZHctEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_G7FKL3lcEd-d-NsLQZ_bEg" x="61" y="18"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_G7FKMHlcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_G7FKMXlcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G7FKMnlcEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_G7FKM3lcEd-d-NsLQZ_bEg" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_G7FKNHlcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_G7FKNXlcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G7FKNnlcEd-d-NsLQZ_bEg"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_G7FKN3lcEd-d-NsLQZ_bEg"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_0X8DgHctEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G7FKOHlcEd-d-NsLQZ_bEg" x="370" y="1175" width="256" height="127"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_G7FKRnlcEd-d-NsLQZ_bEg" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G7FKR3lcEd-d-NsLQZ_bEg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G7FKSHlcEd-d-NsLQZ_bEg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G7FKSXlcEd-d-NsLQZ_bEg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G7FKSnlcEd-d-NsLQZ_bEg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G7FKS3lcEd-d-NsLQZ_bEg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G7FKTHlcEd-d-NsLQZ_bEg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_G7FKTXlcEd-d-NsLQZ_bEg" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_G7FKTnlcEd-d-NsLQZ_bEg" type="7017">
+ <children xmi:type="notation:Shape" xmi:id="_G7FKT3lcEd-d-NsLQZ_bEg" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_vwW7w3cqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_G7FKUHlcEd-d-NsLQZ_bEg" x="62" y="8"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_G7FKUXlcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_G7FKUnlcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G7FKU3lcEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_G7FKVHlcEd-d-NsLQZ_bEg" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_G7FKVXlcEd-d-NsLQZ_bEg" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_vw8xp3cqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_G7FKVnlcEd-d-NsLQZ_bEg" x="94" y="8"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_G7FKV3lcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_G7FKWHlcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G7FKWXlcEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_G7FKWnlcEd-d-NsLQZ_bEg" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_G7FKW3lcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_G7FKXHlcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G7FKXXlcEd-d-NsLQZ_bEg"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_G7FKXnlcEd-d-NsLQZ_bEg"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_vwW7wHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G7FKX3lcEd-d-NsLQZ_bEg" x="96" y="1175" width="216" height="127"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_G7FKYHlcEd-d-NsLQZ_bEg" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G7FKYXlcEd-d-NsLQZ_bEg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G7FKYnlcEd-d-NsLQZ_bEg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G7FKY3lcEd-d-NsLQZ_bEg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G7FKZHlcEd-d-NsLQZ_bEg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G7FKZXlcEd-d-NsLQZ_bEg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G7FKZnlcEd-d-NsLQZ_bEg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_G7FKZ3lcEd-d-NsLQZ_bEg" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_G7FKaHlcEd-d-NsLQZ_bEg" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_G7FKaXlcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_G7FKanlcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G7FKa3lcEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_G7FKbHlcEd-d-NsLQZ_bEg" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_G7FKbXlcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_G7FKbnlcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G7FKb3lcEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_G7FKcHlcEd-d-NsLQZ_bEg" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_G7FKcXlcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_G7FKcnlcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G7FKc3lcEd-d-NsLQZ_bEg"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_G7FKdHlcEd-d-NsLQZ_bEg"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_vgkMQHcqEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G7FKdXlcEd-d-NsLQZ_bEg" x="280" y="1044" width="161"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ooVHxXlcEd-d-NsLQZ_bEg" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ooVHxnlcEd-d-NsLQZ_bEg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ooVHx3lcEd-d-NsLQZ_bEg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ooVHyHlcEd-d-NsLQZ_bEg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ooVHyXlcEd-d-NsLQZ_bEg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ooVHynlcEd-d-NsLQZ_bEg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ooVHy3lcEd-d-NsLQZ_bEg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ooVHzHlcEd-d-NsLQZ_bEg" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ooVHzXlcEd-d-NsLQZ_bEg" type="7017">
+ <children xmi:type="notation:Shape" xmi:id="_ooVHznlcEd-d-NsLQZ_bEg" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_2ff1YXe7Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ooVHz3lcEd-d-NsLQZ_bEg" x="24" y="5"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ooVH0HlcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ooVH0XlcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ooVH0nlcEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ooVH03lcEd-d-NsLQZ_bEg" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ooVH1HlcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ooVH1XlcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ooVH1nlcEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ooVH13lcEd-d-NsLQZ_bEg" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ooVH2HlcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ooVH2XlcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ooVH2nlcEd-d-NsLQZ_bEg"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_ooVH23lcEd-d-NsLQZ_bEg"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_2fWrcHe7Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ooVH3HlcEd-d-NsLQZ_bEg" x="1878" y="1012" width="269"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ooVH3XlcEd-d-NsLQZ_bEg" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ooVH3nlcEd-d-NsLQZ_bEg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ooVH33lcEd-d-NsLQZ_bEg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ooVH4HlcEd-d-NsLQZ_bEg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ooVH4XlcEd-d-NsLQZ_bEg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ooVH4nlcEd-d-NsLQZ_bEg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ooVH43lcEd-d-NsLQZ_bEg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ooVH5HlcEd-d-NsLQZ_bEg" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ooVH5XlcEd-d-NsLQZ_bEg" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ooVH5nlcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ooVH53lcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ooVH6HlcEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ooVH6XlcEd-d-NsLQZ_bEg" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ooVH6nlcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ooVH63lcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ooVH7HlcEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ooVH7XlcEd-d-NsLQZ_bEg" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ooVH7nlcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ooVH73lcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ooVH8HlcEd-d-NsLQZ_bEg"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_ooVH8XlcEd-d-NsLQZ_bEg"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_dahWcHc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ooVH8nlcEd-d-NsLQZ_bEg" x="1906" y="845" width="205"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_18-Ns3lcEd-d-NsLQZ_bEg" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_18-NtHlcEd-d-NsLQZ_bEg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_18-NtXlcEd-d-NsLQZ_bEg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_18-NtnlcEd-d-NsLQZ_bEg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_18-Nt3lcEd-d-NsLQZ_bEg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_18-NuHlcEd-d-NsLQZ_bEg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_18-NuXlcEd-d-NsLQZ_bEg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_18-NunlcEd-d-NsLQZ_bEg" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_18-Nu3lcEd-d-NsLQZ_bEg" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_18-NvHlcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_18-NvXlcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_18-NvnlcEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_18-Nv3lcEd-d-NsLQZ_bEg" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_18-NwHlcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_18-NwXlcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_18-NwnlcEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_18-Nw3lcEd-d-NsLQZ_bEg" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_18-NxHlcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_18-NxXlcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_18-NxnlcEd-d-NsLQZ_bEg"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_18-Nx3lcEd-d-NsLQZ_bEg"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_7-bbAHPQEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_18-NyHlcEd-d-NsLQZ_bEg" x="954" y="1394" width="334"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_18-NyXlcEd-d-NsLQZ_bEg" type="2004" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_18-NynlcEd-d-NsLQZ_bEg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_18-Ny3lcEd-d-NsLQZ_bEg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_18-NzHlcEd-d-NsLQZ_bEg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_18-NzXlcEd-d-NsLQZ_bEg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_18-NznlcEd-d-NsLQZ_bEg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_18-Nz3lcEd-d-NsLQZ_bEg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_18-N0HlcEd-d-NsLQZ_bEg" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_18-N0XlcEd-d-NsLQZ_bEg" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_18-N0nlcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_18-N03lcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_18-N1HlcEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_18-N1XlcEd-d-NsLQZ_bEg" type="7007">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_18-N1nlcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_18-N13lcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_18-N2HlcEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_18-N2XlcEd-d-NsLQZ_bEg" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_18-N2nlcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_18-N23lcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_18-N3HlcEd-d-NsLQZ_bEg"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_HK-0B3PGEd-bh5e9e7eOjw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_18-N3XlcEd-d-NsLQZ_bEg" x="1130" y="1175" width="334" height="110"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_18-N3nlcEd-d-NsLQZ_bEg" type="2008" fontHeight="8" fillColor="12560536" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_18-N33lcEd-d-NsLQZ_bEg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_18-N4HlcEd-d-NsLQZ_bEg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_18-N4XlcEd-d-NsLQZ_bEg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_18-N4nlcEd-d-NsLQZ_bEg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_18-N43lcEd-d-NsLQZ_bEg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_18-N5HlcEd-d-NsLQZ_bEg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_18-N5XlcEd-d-NsLQZ_bEg" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_18-N5nlcEd-d-NsLQZ_bEg" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_18-N53lcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_18-N6HlcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_18-N6XlcEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_18-N6nlcEd-d-NsLQZ_bEg" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_18-N63lcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_18-N7HlcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_18-N7XlcEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_18-N7nlcEd-d-NsLQZ_bEg" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_18-N73lcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_18-N8HlcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_18-N8XlcEd-d-NsLQZ_bEg"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_18-N8nlcEd-d-NsLQZ_bEg"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_huFo1HPSEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_18-N83lcEd-d-NsLQZ_bEg" x="1431" y="1391" width="358"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_18-N9HlcEd-d-NsLQZ_bEg" type="2004" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_18-N9XlcEd-d-NsLQZ_bEg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_18-N9nlcEd-d-NsLQZ_bEg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_18-N93lcEd-d-NsLQZ_bEg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_18-N-HlcEd-d-NsLQZ_bEg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_18-N-XlcEd-d-NsLQZ_bEg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_18-N-nlcEd-d-NsLQZ_bEg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_18-N-3lcEd-d-NsLQZ_bEg" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_18-N_HlcEd-d-NsLQZ_bEg" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_18-N_XlcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_18-N_nlcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_18-N_3lcEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_18-OAHlcEd-d-NsLQZ_bEg" type="7007">
+ <children xmi:type="notation:Shape" xmi:id="_YDDUkHl9Ed-d-NsLQZ_bEg" type="3007" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_fXmVnHOxEd-nKvj-XTCBkg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YDDUkXl9Ed-d-NsLQZ_bEg" x="106" y="7"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_18-OAXlcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_18-OAnlcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_18-OA3lcEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_18-OBHlcEd-d-NsLQZ_bEg" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_18-OBXlcEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_18-OBnlcEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_18-OB3lcEd-d-NsLQZ_bEg"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_QJNf2HOxEd-nKvj-XTCBkg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_18-OCHlcEd-d-NsLQZ_bEg" x="1369" y="850" width="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_FUvo5XldEd-d-NsLQZ_bEg" type="2008" fontHeight="8" fillColor="12560536" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FUvo5nldEd-d-NsLQZ_bEg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FUvo53ldEd-d-NsLQZ_bEg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FUvo6HldEd-d-NsLQZ_bEg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FUvo6XldEd-d-NsLQZ_bEg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FUvo6nldEd-d-NsLQZ_bEg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FUvo63ldEd-d-NsLQZ_bEg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_FUvo7HldEd-d-NsLQZ_bEg" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_FUvo7XldEd-d-NsLQZ_bEg" type="7017">
+ <children xmi:type="notation:Shape" xmi:id="_FUvo7nldEd-d-NsLQZ_bEg" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_5gP2cHPSEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FUvo73ldEd-d-NsLQZ_bEg" x="148" y="7"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_FUvo8HldEd-d-NsLQZ_bEg" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_5gGFcnPSEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FUvo8XldEd-d-NsLQZ_bEg" x="86" y="14"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_FUvo8nldEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_FUvo83ldEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FUvo9HldEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_FUvo9XldEd-d-NsLQZ_bEg" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_i_QjcHl9Ed-d-NsLQZ_bEg" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_5gZAYHPSEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_i_QjcXl9Ed-d-NsLQZ_bEg" x="92" y="11"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_EMdvMHl-Ed-d-NsLQZ_bEg" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_5hcJSnPSEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_EMdvMXl-Ed-d-NsLQZ_bEg" x="118" y="17"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_FUvo9nldEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_FUvo93ldEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FUvo-HldEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_FUvo-XldEd-d-NsLQZ_bEg" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_FUvo-nldEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_FUvo-3ldEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FUvo_HldEd-d-NsLQZ_bEg"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_FUvo_XldEd-d-NsLQZ_bEg"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_5f8UdHPSEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FUvo_nldEd-d-NsLQZ_bEg" x="1518" y="1175" width="338" height="126"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_eFx5kHldEd-d-NsLQZ_bEg" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eFx5k3ldEd-d-NsLQZ_bEg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eFx5lHldEd-d-NsLQZ_bEg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eFx5lXldEd-d-NsLQZ_bEg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eFx5lnldEd-d-NsLQZ_bEg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m4cpEHldEd-d-NsLQZ_bEg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_m4cpEXldEd-d-NsLQZ_bEg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_eFx5mXldEd-d-NsLQZ_bEg" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_eFx5mnldEd-d-NsLQZ_bEg" type="7017">
+ <children xmi:type="notation:Shape" xmi:id="_OwnVUHl8Ed-d-NsLQZ_bEg" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_2XTisHe7Ed-C3vabgS4Hag"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_OwnVUXl8Ed-d-NsLQZ_bEg" x="38" y="13"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_eFx5m3ldEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_eFx5nHldEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eFx5nXldEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_eFx5nnldEd-d-NsLQZ_bEg" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_eFx5n3ldEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_eFx5oHldEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eFx5oXldEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_eFx5onldEd-d-NsLQZ_bEg" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_eFx5o3ldEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_eFx5pHldEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eFx5pXldEd-d-NsLQZ_bEg"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_eFx5kXldEd-d-NsLQZ_bEg"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_dhhWUHc2Ed-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eFx5knldEd-d-NsLQZ_bEg" x="830" y="1510" width="253"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kbF10HldEd-d-NsLQZ_bEg" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kbF103ldEd-d-NsLQZ_bEg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kbF11HldEd-d-NsLQZ_bEg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kbF11XldEd-d-NsLQZ_bEg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kbF11nldEd-d-NsLQZ_bEg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_m4cpEnldEd-d-NsLQZ_bEg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_m4cpE3ldEd-d-NsLQZ_bEg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_kbF12XldEd-d-NsLQZ_bEg" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kbF12nldEd-d-NsLQZ_bEg" type="7017">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kbF123ldEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kbF13HldEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kbF13XldEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kbF13nldEd-d-NsLQZ_bEg" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kbF133ldEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kbF14HldEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kbF14XldEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kbF14nldEd-d-NsLQZ_bEg" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kbF143ldEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kbF15HldEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kbF15XldEd-d-NsLQZ_bEg"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_kbF10XldEd-d-NsLQZ_bEg"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_-YGLoHPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kbF10nldEd-d-NsLQZ_bEg" x="1097" y="1510" width="282"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_-rfngHldEd-d-NsLQZ_bEg" type="2004" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-rfngnldEd-d-NsLQZ_bEg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-rfng3ldEd-d-NsLQZ_bEg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-rfnhHldEd-d-NsLQZ_bEg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-rfnhXldEd-d-NsLQZ_bEg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_B6U7AHleEd-d-NsLQZ_bEg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_B6U7AXleEd-d-NsLQZ_bEg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-rfniHldEd-d-NsLQZ_bEg" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_-rfniXldEd-d-NsLQZ_bEg" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-rfninldEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-rfni3ldEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-rfnjHldEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_-rfnjXldEd-d-NsLQZ_bEg" type="7007">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-rfnjnldEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-rfnj3ldEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-rfnkHldEd-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_-rfnkXldEd-d-NsLQZ_bEg" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-rfnknldEd-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-rfnk3ldEd-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-rfnlHldEd-d-NsLQZ_bEg"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_HLbf8HPGEd-bh5e9e7eOjw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-rfngXldEd-d-NsLQZ_bEg" x="764" y="1175" width="284"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_h9D8EHl8Ed-d-NsLQZ_bEg" type="2008" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_h9D8E3l8Ed-d-NsLQZ_bEg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_h9D8FHl8Ed-d-NsLQZ_bEg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_h9D8FXl8Ed-d-NsLQZ_bEg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_h9D8Fnl8Ed-d-NsLQZ_bEg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_n6FUIHl8Ed-d-NsLQZ_bEg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_n6FUIXl8Ed-d-NsLQZ_bEg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_h9D8GXl8Ed-d-NsLQZ_bEg" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_h9D8Gnl8Ed-d-NsLQZ_bEg" type="7017">
+ <children xmi:type="notation:Shape" xmi:id="_cS2V0Hl9Ed-d-NsLQZ_bEg" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_RqVGwHPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_cS2V0Xl9Ed-d-NsLQZ_bEg" x="69" y="1"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_h9D8G3l8Ed-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_h9D8HHl8Ed-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9D8HXl8Ed-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_h9D8Hnl8Ed-d-NsLQZ_bEg" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_aWRUYHl9Ed-d-NsLQZ_bEg" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_RqxLoXPREd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_aWRUYXl9Ed-d-NsLQZ_bEg" x="99" y="4"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_h9D8H3l8Ed-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_h9D8IHl8Ed-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9D8IXl8Ed-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_h9D8Inl8Ed-d-NsLQZ_bEg" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_h9D8I3l8Ed-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_h9D8JHl8Ed-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9D8JXl8Ed-d-NsLQZ_bEg"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_h9D8EXl8Ed-d-NsLQZ_bEg"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_7-bbAnPQEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h9D8Enl8Ed-d-NsLQZ_bEg" x="1531" y="1015" width="200" height="91"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_sbWqcHl9Ed-d-NsLQZ_bEg" type="2008" fontHeight="8" fillColor="12560536" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sbWqc3l9Ed-d-NsLQZ_bEg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sbWqdHl9Ed-d-NsLQZ_bEg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sbWqdXl9Ed-d-NsLQZ_bEg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sbWqdnl9Ed-d-NsLQZ_bEg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ju-Tsnl-Ed-d-NsLQZ_bEg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ju-Ts3l-Ed-d-NsLQZ_bEg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_sbWqeXl9Ed-d-NsLQZ_bEg" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_sbWqenl9Ed-d-NsLQZ_bEg" type="7017">
+ <children xmi:type="notation:Shape" xmi:id="_uxQK0Hl9Ed-d-NsLQZ_bEg" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_U59u0XcvEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uxQK0Xl9Ed-d-NsLQZ_bEg" x="47" y="4"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_sbWqe3l9Ed-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_sbWqfHl9Ed-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sbWqfXl9Ed-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_sbWqfnl9Ed-d-NsLQZ_bEg" type="7018">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_sbWqf3l9Ed-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_sbWqgHl9Ed-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sbWqgXl9Ed-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_sbWqgnl9Ed-d-NsLQZ_bEg" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_sbWqg3l9Ed-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_sbWqhHl9Ed-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sbWqhXl9Ed-d-NsLQZ_bEg"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_sbWqcXl9Ed-d-NsLQZ_bEg"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_U5z90HcvEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sbWqcnl9Ed-d-NsLQZ_bEg" x="1890" y="1393" width="213" height="83"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_5nDPsHl9Ed-d-NsLQZ_bEg" type="2008" fontHeight="8" fillColor="12560536" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5nDPs3l9Ed-d-NsLQZ_bEg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5nDPtHl9Ed-d-NsLQZ_bEg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5nDPtXl9Ed-d-NsLQZ_bEg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5nDPtnl9Ed-d-NsLQZ_bEg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ju-TsHl-Ed-d-NsLQZ_bEg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ju-TsXl-Ed-d-NsLQZ_bEg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5nDPuXl9Ed-d-NsLQZ_bEg" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_5nDPunl9Ed-d-NsLQZ_bEg" type="7017">
+ <children xmi:type="notation:Shape" xmi:id="_9o2RMHl9Ed-d-NsLQZ_bEg" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_UX15MncvEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9o2RMXl9Ed-d-NsLQZ_bEg" x="95" y="15"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5nDPu3l9Ed-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5nDPvHl9Ed-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5nDPvXl9Ed-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_5nDPvnl9Ed-d-NsLQZ_bEg" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_ANW1UHl-Ed-d-NsLQZ_bEg" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_UYR-EHcvEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ANW1UXl-Ed-d-NsLQZ_bEg" x="116" y="1"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5nDPv3l9Ed-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5nDPwHl9Ed-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5nDPwXl9Ed-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_5nDPwnl9Ed-d-NsLQZ_bEg" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5nDPw3l9Ed-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5nDPxHl9Ed-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5nDPxXl9Ed-d-NsLQZ_bEg"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_5nDPsXl9Ed-d-NsLQZ_bEg"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_hwLTgnPSEd-NtftfyF3YZw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5nDPsnl9Ed-d-NsLQZ_bEg" x="1760" y="1505" width="213" height="85"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_g4bkYHl-Ed-d-NsLQZ_bEg" type="2008" fontHeight="8" fillColor="12560536" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_g4bkY3l-Ed-d-NsLQZ_bEg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_g4bkZHl-Ed-d-NsLQZ_bEg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_g4bkZXl-Ed-d-NsLQZ_bEg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_g4bkZnl-Ed-d-NsLQZ_bEg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ju-TtHl-Ed-d-NsLQZ_bEg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ju-TtXl-Ed-d-NsLQZ_bEg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_g4bkaXl-Ed-d-NsLQZ_bEg" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_g4bkanl-Ed-d-NsLQZ_bEg" type="7017">
+ <children xmi:type="notation:Shape" xmi:id="_HYCd4Hl_Ed-d-NsLQZ_bEg" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_U_xb4HcvEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_HYCd4Xl_Ed-d-NsLQZ_bEg" x="92" y="9"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_RVN4sHl_Ed-d-NsLQZ_bEg" type="3012" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="CommandStackFramework.uml#_U_nq43cvEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_RVN4sXl_Ed-d-NsLQZ_bEg" x="40" y="6"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_g4bka3l-Ed-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_g4bkbHl-Ed-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g4bkbXl-Ed-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_g4bkbnl-Ed-d-NsLQZ_bEg" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_JczyAHl_Ed-d-NsLQZ_bEg" type="3013" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Operation" href="CommandStackFramework.uml#_VAOH0XcvEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_JczyAXl_Ed-d-NsLQZ_bEg" x="135" y="5"/>
+ </children>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_g4bkb3l-Ed-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_g4bkcHl-Ed-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g4bkcXl-Ed-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_g4bkcnl-Ed-d-NsLQZ_bEg" type="7019">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_g4bkc3l-Ed-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_g4bkdHl-Ed-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g4bkdXl-Ed-d-NsLQZ_bEg"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_g4bkYXl-Ed-d-NsLQZ_bEg"/>
+ <element xmi:type="uml:Class" href="CommandStackFramework.uml#_U_nq4HcvEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g4bkYnl-Ed-d-NsLQZ_bEg" x="2157" y="1416" width="201" height="116"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_g5n3MHl-Ed-d-NsLQZ_bEg" type="2004" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_g5n3Mnl-Ed-d-NsLQZ_bEg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_g5n3M3l-Ed-d-NsLQZ_bEg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_g5n3NHl-Ed-d-NsLQZ_bEg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_g5n3NXl-Ed-d-NsLQZ_bEg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ju-Ttnl-Ed-d-NsLQZ_bEg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ju-Tt3l-Ed-d-NsLQZ_bEg" key="QualifiedNameDepth" value="4"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_g5n3OHl-Ed-d-NsLQZ_bEg" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_g5n3OXl-Ed-d-NsLQZ_bEg" type="7006">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_g5n3Onl-Ed-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_g5n3O3l-Ed-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g5n3PHl-Ed-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_g5n3PXl-Ed-d-NsLQZ_bEg" type="7007">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_g5n3Pnl-Ed-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_g5n3P3l-Ed-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g5n3QHl-Ed-d-NsLQZ_bEg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_g5n3QXl-Ed-d-NsLQZ_bEg" type="7008">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_g5n3Qnl-Ed-d-NsLQZ_bEg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_g5n3Q3l-Ed-d-NsLQZ_bEg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g5n3RHl-Ed-d-NsLQZ_bEg"/>
+ </children>
+ <element xmi:type="uml:Interface" href="CommandStackFramework.uml#_0YF0gnctEd-96YWU42lBhw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g5n3MXl-Ed-d-NsLQZ_bEg" x="2157" y="1216"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_Rg9SoXlTEd-G1sP92iSIng"/>
+ <element xmi:type="uml:Model" href="CommandStackFramework.uml#_JJIvUHOxEd-nKvj-XTCBkg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_Vd-h0HlTEd-G1sP92iSIng" type="4002" source="_Vd-h63lTEd-G1sP92iSIng" target="_Vd-iM3lTEd-G1sP92iSIng" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-h0XlTEd-G1sP92iSIng" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-h0nlTEd-G1sP92iSIng" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Vd-h03lTEd-G1sP92iSIng" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_8vOCEXcuEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Vd-h1HlTEd-G1sP92iSIng" points="[0, 0, -200, -478]$[179, 428, -21, -50]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Vd-iDHlTEd-G1sP92iSIng" type="4008" source="_Vd-iXXlTEd-G1sP92iSIng" target="_Vd-il3lTEd-G1sP92iSIng" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-iDXlTEd-G1sP92iSIng" visible="false" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-iDnlTEd-G1sP92iSIng" x="63" y="-32"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-iD3lTEd-G1sP92iSIng" visible="false" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-iEHlTEd-G1sP92iSIng" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Vd-iEXlTEd-G1sP92iSIng" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_OgqN83cwEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Vd-iEnlTEd-G1sP92iSIng" points="[-88, 4, 241, -13]$[-219, 11, 110, -6]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vd-iE3lTEd-G1sP92iSIng" id="(0.5863636363636363,0.06179775280898876)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Vd-iLnlTEd-G1sP92iSIng" type="4002" source="_Vd-iFHlTEd-G1sP92iSIng" target="_Vd-itXlTEd-G1sP92iSIng" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-iL3lTEd-G1sP92iSIng" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-iMHlTEd-G1sP92iSIng" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Vd-iMXlTEd-G1sP92iSIng" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_9fDjkncuEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Vd-iMnlTEd-G1sP92iSIng" points="[0, 0, -714, -710]$[671, 668, -43, -42]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Vd-iUHlTEd-G1sP92iSIng" type="4001" source="_Vd-iXXlTEd-G1sP92iSIng" target="_Vd-id3lTEd-G1sP92iSIng" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-iUXlTEd-G1sP92iSIng" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-iUnlTEd-G1sP92iSIng" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-iU3lTEd-G1sP92iSIng" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-iVHlTEd-G1sP92iSIng" x="-7" y="-74"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-iVXlTEd-G1sP92iSIng" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-iVnlTEd-G1sP92iSIng" x="-147" y="-56"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-iV3lTEd-G1sP92iSIng" visible="false" type="6005">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vd-iWHlTEd-G1sP92iSIng" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vd-iWXlTEd-G1sP92iSIng" key="CustomAppearance_MaskValue" value="46"/>
+ </eAnnotations>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-iWnlTEd-G1sP92iSIng" x="5" y="71"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Vd-iW3lTEd-G1sP92iSIng" fontHeight="8"/>
+ <element xmi:type="uml:Association" href="CommandStackFramework.uml#_RUB8IHfuEd-C3vabgS4Hag"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Vd-iXHlTEd-G1sP92iSIng" points="[121, 39, -407, -135]$[410, 134, -118, -40]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Vd-ikHlTEd-G1sP92iSIng" type="4008" source="_Vd-h1XlTEd-G1sP92iSIng" target="_Vd-i43lTEd-G1sP92iSIng" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-ikXlTEd-G1sP92iSIng" visible="false" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-iknlTEd-G1sP92iSIng" x="-80" y="46"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-ik3lTEd-G1sP92iSIng" visible="false" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-ilHlTEd-G1sP92iSIng" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Vd-ilXlTEd-G1sP92iSIng" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_vmE-Y3cqEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Vd-ilnlTEd-G1sP92iSIng" points="[0, 0, -380, -230]$[330, 199, -50, -31]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Vd-isHlTEd-G1sP92iSIng" type="4002" source="_Vd-iM3lTEd-G1sP92iSIng" target="_Vd-i43lTEd-G1sP92iSIng" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-isXlTEd-G1sP92iSIng" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-isnlTEd-G1sP92iSIng" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Vd-is3lTEd-G1sP92iSIng" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_0xkrgnctEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Vd-itHlTEd-G1sP92iSIng" points="[-83, -49, 238, 138]$[-195, -114, 126, 73]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Vd-i13lTEd-G1sP92iSIng" type="4008" source="_Vd-itXlTEd-G1sP92iSIng" target="_Vd-h63lTEd-G1sP92iSIng" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-i2HlTEd-G1sP92iSIng" visible="false" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-i2XlTEd-G1sP92iSIng" x="-57" y="55"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-i2nlTEd-G1sP92iSIng" visible="false" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-i23lTEd-G1sP92iSIng" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Vd-i3HlTEd-G1sP92iSIng" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_8gd0YXcuEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Vd-i3XlTEd-G1sP92iSIng" points="[-64, 34, 372, -198]$[-342, 182, 94, -50]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Vd-i3nlTEd-G1sP92iSIng" type="4002" source="_Vd-itXlTEd-G1sP92iSIng" target="_Vd-h1XlTEd-G1sP92iSIng" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-i33lTEd-G1sP92iSIng" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-i4HlTEd-G1sP92iSIng" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Vd-i4XlTEd-G1sP92iSIng" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_8gUqcncuEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Vd-i4nlTEd-G1sP92iSIng" points="[0, 0, -637, -210]$[513, 169, -124, -41]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Vd-jEHlTEd-G1sP92iSIng" type="4002" source="_Vd-iXXlTEd-G1sP92iSIng" target="_Vd-itXlTEd-G1sP92iSIng" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-jEXlTEd-G1sP92iSIng" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-jEnlTEd-G1sP92iSIng" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Vd-jE3lTEd-G1sP92iSIng" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_OgqN8XcwEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Vd-jFHlTEd-G1sP92iSIng" points="[0, 0, -714, -710]$[671, 668, -43, -42]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Vd-jFXlTEd-G1sP92iSIng" type="4002" source="_Vd-il3lTEd-G1sP92iSIng" target="_Vd-iM3lTEd-G1sP92iSIng" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vd-jFnlTEd-G1sP92iSIng" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vd-jF3lTEd-G1sP92iSIng" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Vd-jGHlTEd-G1sP92iSIng" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_xQXHMXcwEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Vd-jGXlTEd-G1sP92iSIng" points="[0, 0, -200, -478]$[179, 428, -21, -50]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Q5DIoHlUEd-G1sP92iSIng" type="4008" source="_Q4dSwHlUEd-G1sP92iSIng" target="_Vd-id3lTEd-G1sP92iSIng" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Q5DIo3lUEd-G1sP92iSIng" visible="false" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Q5DIpHlUEd-G1sP92iSIng" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Q5DIpXlUEd-G1sP92iSIng" visible="false" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Q5DIpnlUEd-G1sP92iSIng" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Q5DIoXlUEd-G1sP92iSIng" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_NxYNEHlUEd-G1sP92iSIng"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Q5DIonlUEd-G1sP92iSIng" points="[0, 0, -1300, -639]$[1198, 589, -102, -50]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pGoG8HlUEd-G1sP92iSIng" id="(0.6455696202531646,0.08)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_tRDgQHlUEd-G1sP92iSIng" type="4002" source="_tRDgAHlUEd-G1sP92iSIng" target="_tRDgHnlUEd-G1sP92iSIng" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_tRDgQXlUEd-G1sP92iSIng" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tRDgQnlUEd-G1sP92iSIng" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_tRDgQ3lUEd-G1sP92iSIng" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_daEqgXc2Ed-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tRDgRHlUEd-G1sP92iSIng" points="[0, 0, -217, -184]$[112, 96, -105, -88]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_G7FKOXlcEd-d-NsLQZ_bEg" type="4008" source="_G7FKYHlcEd-d-NsLQZ_bEg" target="_G7FKAHlcEd-d-NsLQZ_bEg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_G7FKOnlcEd-d-NsLQZ_bEg" visible="false" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_G7FKO3lcEd-d-NsLQZ_bEg" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_G7FKPHlcEd-d-NsLQZ_bEg" visible="false" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_G7FKPXlcEd-d-NsLQZ_bEg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_G7FKPnlcEd-d-NsLQZ_bEg" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_vgtWMXcqEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G7FKP3lcEd-d-NsLQZ_bEg" points="[-3, -34, 13, 162]$[-12, -146, 4, 50]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_G7FKQHlcEd-d-NsLQZ_bEg" type="4002" source="_G7FKG3lcEd-d-NsLQZ_bEg" target="_G7FKYHlcEd-d-NsLQZ_bEg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_G7FKQXlcEd-d-NsLQZ_bEg" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_G7FKQnlcEd-d-NsLQZ_bEg" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_G7FKQ3lcEd-d-NsLQZ_bEg" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_0YF0gHctEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G7FKRHlcEd-d-NsLQZ_bEg" points="[0, 0, -335, -385]$[305, 351, -30, -34]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G7FKRXlcEd-d-NsLQZ_bEg" id="(0.8584905660377359,0.9761904761904762)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_G7FKlXlcEd-d-NsLQZ_bEg" type="4002" source="_G7FKRnlcEd-d-NsLQZ_bEg" target="_G7FKYHlcEd-d-NsLQZ_bEg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_G7FKlnlcEd-d-NsLQZ_bEg" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_G7FKl3lcEd-d-NsLQZ_bEg" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_G7FKmHlcEd-d-NsLQZ_bEg" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_vwW7wncqEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G7FKmXlcEd-d-NsLQZ_bEg" points="[0, 0, -455, -422]$[418, 388, -37, -34]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ooVHwHlcEd-d-NsLQZ_bEg" type="4002" source="_ooVHxXlcEd-d-NsLQZ_bEg" target="_ooVH3XlcEd-d-NsLQZ_bEg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ooVHwXlcEd-d-NsLQZ_bEg" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ooVHwnlcEd-d-NsLQZ_bEg" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ooVHw3lcEd-d-NsLQZ_bEg" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_2ff1YHe7Ed-C3vabgS4Hag"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ooVHxHlcEd-d-NsLQZ_bEg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_18-NoHlcEd-d-NsLQZ_bEg" type="4008" source="_18-N3nlcEd-d-NsLQZ_bEg" target="_18-NyXlcEd-d-NsLQZ_bEg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_18-NoXlcEd-d-NsLQZ_bEg" visible="false" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_18-NonlcEd-d-NsLQZ_bEg" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_18-No3lcEd-d-NsLQZ_bEg" visible="false" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_18-NpHlcEd-d-NsLQZ_bEg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_18-NpXlcEd-d-NsLQZ_bEg" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_huPZ1XPSEd-NtftfyF3YZw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_18-NpnlcEd-d-NsLQZ_bEg" points="[-50, -34, 455, 311]$[-425, -290, 80, 55]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_18-Np3lcEd-d-NsLQZ_bEg" type="4002" source="_18-NyXlcEd-d-NsLQZ_bEg" target="_18-N9HlcEd-d-NsLQZ_bEg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_18-NqHlcEd-d-NsLQZ_bEg" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_18-NqXlcEd-d-NsLQZ_bEg" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_18-NqnlcEd-d-NsLQZ_bEg" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_HK-0CXPGEd-bh5e9e7eOjw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_18-Nq3lcEd-d-NsLQZ_bEg" points="[-84, -55, 203, 135]$[-287, -190, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_18-NrHlcEd-d-NsLQZ_bEg" type="4008" source="_18-Ns3lcEd-d-NsLQZ_bEg" target="_18-NyXlcEd-d-NsLQZ_bEg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_18-NrXlcEd-d-NsLQZ_bEg" visible="false" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_18-NrnlcEd-d-NsLQZ_bEg" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_18-Nr3lcEd-d-NsLQZ_bEg" visible="false" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_18-NsHlcEd-d-NsLQZ_bEg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_18-NsXlcEd-d-NsLQZ_bEg" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_7-bbBHPQEd-NtftfyF3YZw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_18-NsnlcEd-d-NsLQZ_bEg" points="[0, 0, -196, -286]$[158, 231, -38, -55]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_FUvo4HldEd-d-NsLQZ_bEg" type="4002" target="_FUvo5XldEd-d-NsLQZ_bEg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_FUvo4XldEd-d-NsLQZ_bEg" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FUvo4nldEd-d-NsLQZ_bEg" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_FUvo43ldEd-d-NsLQZ_bEg" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_mNECQHh3Ed-ECKyh8Dg6Wg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FUvo5HldEd-d-NsLQZ_bEg" points="[2, -42, -14, 225]$[13, -225, -3, 42]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_VsvyEHldEd-d-NsLQZ_bEg" type="4002" source="_18-N3nlcEd-d-NsLQZ_bEg" target="_FUvo5XldEd-d-NsLQZ_bEg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_VsvyE3ldEd-d-NsLQZ_bEg" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VsvyFHldEd-d-NsLQZ_bEg" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_VsvyEXldEd-d-NsLQZ_bEg" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_mNECQHh3Ed-ECKyh8Dg6Wg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VsvyEnldEd-d-NsLQZ_bEg" points="[25, -42, -111, 179]$[102, -166, -34, 55]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_eGhgcHldEd-d-NsLQZ_bEg" type="4002" source="_eFx5kHldEd-d-NsLQZ_bEg" target="_18-Ns3lcEd-d-NsLQZ_bEg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_eGhgc3ldEd-d-NsLQZ_bEg" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_eGhgdHldEd-d-NsLQZ_bEg" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_eGhgcXldEd-d-NsLQZ_bEg" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_2Wj70He7Ed-C3vabgS4Hag"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_eGhgcnldEd-d-NsLQZ_bEg" points="[0, 0, -1121, -1344]$[1085, 1302, -36, -42]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_kcSIoHldEd-d-NsLQZ_bEg" type="4002" source="_kbF10HldEd-d-NsLQZ_bEg" target="_18-Ns3lcEd-d-NsLQZ_bEg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_kcSIo3ldEd-d-NsLQZ_bEg" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kcSIpHldEd-d-NsLQZ_bEg" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_kcSIoXldEd-d-NsLQZ_bEg" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_-YGLonPREd-NtftfyF3YZw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kcSIonldEd-d-NsLQZ_bEg" points="[0, 0, -1121, -1344]$[1085, 1302, -36, -42]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_-sr6UHldEd-d-NsLQZ_bEg" type="4002" source="_-rfngHldEd-d-NsLQZ_bEg" target="_18-NyXlcEd-d-NsLQZ_bEg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_-s1rUHldEd-d-NsLQZ_bEg" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-s1rUXldEd-d-NsLQZ_bEg" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_-sr6UXldEd-d-NsLQZ_bEg" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_HLbf8nPGEd-bh5e9e7eOjw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-sr6UnldEd-d-NsLQZ_bEg" points="[0, 0, -1297, -1132]$[1233, 1077, -64, -55]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_h-Z_4Hl8Ed-d-NsLQZ_bEg" type="4002" source="_FUvo5XldEd-d-NsLQZ_bEg" target="_h9D8EHl8Ed-d-NsLQZ_bEg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_h-Z_43l8Ed-d-NsLQZ_bEg" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_h-Z_5Hl8Ed-d-NsLQZ_bEg" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_h-Z_4Xl8Ed-d-NsLQZ_bEg" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_5f8UdnPSEd-NtftfyF3YZw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_h-Z_4nl8Ed-d-NsLQZ_bEg" points="[-82, -54, 1605, 1072]$[-1687, -1126, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_utWXsHl8Ed-d-NsLQZ_bEg" type="4008" source="_h9D8EHl8Ed-d-NsLQZ_bEg" target="_18-N9HlcEd-d-NsLQZ_bEg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_utWXs3l8Ed-d-NsLQZ_bEg" visible="false" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_utWXtHl8Ed-d-NsLQZ_bEg" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_utWXtXl8Ed-d-NsLQZ_bEg" visible="false" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_utWXtnl8Ed-d-NsLQZ_bEg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_utWXsXl8Ed-d-NsLQZ_bEg" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_RqLVwXPREd-NtftfyF3YZw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_utWXsnl8Ed-d-NsLQZ_bEg" points="[-73, -42, 123, 71]$[-110, -63, 86, 50]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_scZMQHl9Ed-d-NsLQZ_bEg" type="4002" source="_sbWqcHl9Ed-d-NsLQZ_bEg" target="_FUvo5XldEd-d-NsLQZ_bEg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_scZMQ3l9Ed-d-NsLQZ_bEg" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_scZMRHl9Ed-d-NsLQZ_bEg" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_scZMQXl9Ed-d-NsLQZ_bEg" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_U59u0HcvEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_scZMQnl9Ed-d-NsLQZ_bEg" points="[0, 0, -1687, -1229]$[1612, 1175, -75, -54]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UyK9MHl-Ed-d-NsLQZ_bEg" id="(0.9171597633136095,0.9761904761904762)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_5osOcHl9Ed-d-NsLQZ_bEg" type="4002" source="_5nDPsHl9Ed-d-NsLQZ_bEg" target="_FUvo5XldEd-d-NsLQZ_bEg" routing="Rectilinear" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_5osOc3l9Ed-d-NsLQZ_bEg" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5osOdHl9Ed-d-NsLQZ_bEg" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_5osOcXl9Ed-d-NsLQZ_bEg" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="CommandStackFramework.uml#_UX15MXcvEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5osOcnl9Ed-d-NsLQZ_bEg" points="[-38, -1, -41, 210]$[-38, -205, -41, 6]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TiJfwHl-Ed-d-NsLQZ_bEg" id="(0.41784037558685444,0.011764705882352941)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_S5K0MHl-Ed-d-NsLQZ_bEg" id="(0.9881656804733728,0.9523809523809523)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_g7am8Hl-Ed-d-NsLQZ_bEg" type="4008" source="_g4bkYHl-Ed-d-NsLQZ_bEg" target="_g5n3MHl-Ed-d-NsLQZ_bEg" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_g7am83l-Ed-d-NsLQZ_bEg" type="6026">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_g7am9Hl-Ed-d-NsLQZ_bEg" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_g7am9Xl-Ed-d-NsLQZ_bEg" type="6027">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_g7am9nl-Ed-d-NsLQZ_bEg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_g7am8Xl-Ed-d-NsLQZ_bEg" fontHeight="8"/>
+ <element xmi:type="uml:Realization" href="CommandStackFramework.uml#_U_nq4ncvEd-96YWU42lBhw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_g7am8nl-Ed-d-NsLQZ_bEg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ </edges>
+ </notation:Diagram>
+</xmi:XMI>
diff --git a/doc/DevelopperDocuments/architecture/CommandStackFramework.uml b/doc/DevelopperDocuments/architecture/CommandStackFramework.uml
new file mode 100644
index 00000000000..bb026e55ae4
--- /dev/null
+++ b/doc/DevelopperDocuments/architecture/CommandStackFramework.uml
@@ -0,0 +1,17394 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML" xmi:id="_JJIvUHOxEd-nKvj-XTCBkg" name="model">
+ <ownedComment xmi:id="_L6CvgHh5Ed-ECKyh8Dg6Wg">
+ <body> Transactional</body>
+ </ownedComment>
+ <packagedElement xmi:type="uml:Model" xmi:id="_qbqg0HUuEd-R54hgjGwYvw" name="java">
+ <packagedElement xmi:type="uml:Package" xmi:id="_QJNf4XOxEd-nKvj-XTCBkg" name="java">
+ <packagedElement xmi:type="uml:Package" xmi:id="_QJNf4nOxEd-nKvj-XTCBkg" name="util">
+ <packagedElement xmi:type="uml:Class" xmi:id="_QJNf43OxEd-nKvj-XTCBkg" name="List"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_QJqLynOxEd-nKvj-XTCBkg" name="Iterator"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_QJqLznOxEd-nKvj-XTCBkg" name="ListIterator"/>
+ <packagedElement xmi:type="uml:Interface" xmi:id="_msnXLXO4Ed-nKvj-XTCBkg" name="Iterator"/>
+ <packagedElement xmi:type="uml:Interface" xmi:id="_mswhE3O4Ed-nKvj-XTCBkg" name="ListIterator"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_5gGFc3PSEd-NtftfyF3YZw" name="Map"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_vhKCKncqEd-96YWU42lBhw" name="Collection"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_vsyDUncqEd-96YWU42lBhw" name="EventObject"/>
+ <packagedElement xmi:type="uml:Interface" xmi:id="_0ey5cHctEd-96YWU42lBhw" name="EventListener"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_URINMXcvEd-96YWU42lBhw" name="Set"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_wTwGQXc2Ed-96YWU42lBhw" name="Stack"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_algZEHeiEd-udeJ8hQXrBA" name="ArrayList"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_QJNf7nOxEd-nKvj-XTCBkg" name="lang">
+ <packagedElement xmi:type="uml:Class" xmi:id="_QJNf73OxEd-nKvj-XTCBkg" name="String"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_msnXL3O4Ed-nKvj-XTCBkg" name="Object"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_vm0lQ3cqEd-96YWU42lBhw" name="Exception"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_zsR3ZXctEd-96YWU42lBhw" name="Class"/>
+ <packagedElement xmi:type="uml:Interface" xmi:id="_0i9nwnctEd-96YWU42lBhw" name="Runnable"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_0nI9IHctEd-96YWU42lBhw" name="Thread"/>
+ <packagedElement xmi:type="uml:Package" xmi:id="_9y33cHcuEd-96YWU42lBhw" name="ref">
+ <packagedElement xmi:type="uml:Class" xmi:id="_9y33cXcuEd-96YWU42lBhw" name="Reference"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_14wc8HekEd-udeJ8hQXrBA" name="Throwable"/>
+ </packagedElement>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Model" xmi:id="_nSphcHUuEd-R54hgjGwYvw" name="datatype">
+ <packagedElement xmi:type="uml:Package" xmi:id="_QJqLwXOxEd-nKvj-XTCBkg" name="datatype">
+ <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_QJqLwnOxEd-nKvj-XTCBkg" name="Boolean"/>
+ <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_QJqLxnOxEd-nKvj-XTCBkg" name="Integer"/>
+ <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_vdu6sHcqEd-96YWU42lBhw" name="Long"/>
+ <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_82hj8ncuEd-96YWU42lBhw" name="Byte"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Model" xmi:id="_peRrgHUuEd-R54hgjGwYvw" name="gmf">
+ <packagedElement xmi:type="uml:Package" xmi:id="_HK-0AHPGEd-bh5e9e7eOjw" name="org">
+ <packagedElement xmi:type="uml:Package" xmi:id="_HK-0AXPGEd-bh5e9e7eOjw" name="eclipse">
+ <packagedElement xmi:type="uml:Package" xmi:id="_HK-0AnPGEd-bh5e9e7eOjw" name="gmf">
+ <packagedElement xmi:type="uml:Package" xmi:id="_HK-0A3PGEd-bh5e9e7eOjw" name="runtime">
+ <packagedElement xmi:type="uml:Package" xmi:id="_HK-0BHPGEd-bh5e9e7eOjw" name="common">
+ <packagedElement xmi:type="uml:Package" xmi:id="_HK-0BXPGEd-bh5e9e7eOjw" name="core">
+ <packagedElement xmi:type="uml:Package" xmi:id="_HK-0BnPGEd-bh5e9e7eOjw" name="command">
+ <packagedElement xmi:type="uml:Interface" xmi:id="_7-bbC3PQEd-NtftfyF3YZw" name="ICommandWithSettableResult"/>
+ <packagedElement xmi:type="uml:Interface" xmi:id="_HK-0B3PGEd-bh5e9e7eOjw" name="ICommand">
+ <ownedComment xmi:id="_HK-0CHPGEd-bh5e9e7eOjw">
+ <body>
+ * A self-composing undoable operation that has a {@link CommandResult} and a
+ * list of affected {@link IFile}s.
+ * &lt;P>
+ * Executing, undoing or redoing a command can have a result which clients can
+ * obtain by using the {@link #getCommandResult()} method. For example,
+ * executing a command that create a new entity may wish to make the new entity
+ * accessible to clients through the {@link #getCommandResult()} method.
+ * &lt;P>
+ * The command provides a list of {@link IFile}s that are expected to be
+ * modified when the it is executed, undone or redone. An
+ * {@link IOperationApprover} is registered with the
+ * {@link OperationHistoryFactory#getOperationHistory()} to validate the
+ * modification to these resources.
+ * &lt;P>
+ * If an error occurs, or the progress monitor is canceled during execute, undo
+ * or redo, the command should make every effort to roll back the changes it has
+ * made up to that point.
+ *
+ * @author khussey
+ * @author ldamus
+ *
+ * @canBeSeenBy %partners
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_HK-0CXPGEd-bh5e9e7eOjw" general="_QJNf2HOxEd-nKvj-XTCBkg"/>
+ <ownedOperation xmi:id="_HLIlAHPGEd-bh5e9e7eOjw" name="getCommandResult" visibility="public" isAbstract="true">
+ <ownedComment xmi:id="_HLIlAXPGEd-bh5e9e7eOjw">
+ <body>
+ * Retrieves the result of executing, undoing, or redoing this command,
+ * depending on which of these operations was last performed. This value can
+ * be &lt;code>null&lt;/code> if the operation has no meaningful result.
+ * &lt;P>
+ * The value of this result is undefined if the command has not yet been
+ * executed, undone or redone.
+ *
+ * @return The result of executing, undoing or redoing this command.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_HLIlA3PGEd-bh5e9e7eOjw" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_HLIlBHPGEd-bh5e9e7eOjw" name="getAffectedFiles" visibility="public" isAbstract="true">
+ <ownedComment xmi:id="_HLIlBXPGEd-bh5e9e7eOjw">
+ <body>
+ * Returns the list of {@link IFile}s that are expected to be modified by
+ * this command.
+ *
+ * @return the list of {@link IFile}s that will be modified
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_HLIlBnPGEd-bh5e9e7eOjw" type="_QJNf43OxEd-nKvj-XTCBkg" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HLIlCHPGEd-bh5e9e7eOjw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HLIlB3PGEd-bh5e9e7eOjw"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_HLIlCXPGEd-bh5e9e7eOjw" name="compose" visibility="public" isAbstract="true">
+ <ownedComment xmi:id="_HLIlCnPGEd-bh5e9e7eOjw">
+ <body>
+ * Returns a new command object that represents a composition of this
+ * command with the specified &lt;code>command&lt;/code> parameter.
+ *
+ * @param operation
+ * The operation that is to be composed with this command.
+ * @return A command that represents a composition of this command with the
+ * specified command.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_HLIlC3PGEd-bh5e9e7eOjw" type="_HK-0B3PGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_HLRu8HPGEd-bh5e9e7eOjw" name="operation" type="_QJNf2HOxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_HLRu8XPGEd-bh5e9e7eOjw" name="reduce" visibility="public" isAbstract="true">
+ <ownedComment xmi:id="_HLRu8nPGEd-bh5e9e7eOjw">
+ <body>
+ * Returns the simplest form of this command that is equivalent. Use this
+ * method to remove unnecessary nesting of commands.
+ *
+ * @return the simplest form of this command that is equivalent
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_HLRu83PGEd-bh5e9e7eOjw" type="_HK-0B3PGEd-bh5e9e7eOjw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_HLRu9HPGEd-bh5e9e7eOjw" name="setLabel" visibility="public" isAbstract="true">
+ <ownedComment xmi:id="_HLRu9XPGEd-bh5e9e7eOjw">
+ <body>
+ * Since not all commands have names, reduce() should propogate label from an
+ * upper command that may be thrown away to the resultant reduced command. The
+ * method is needed to assign the label to a nameless command, because
+ * &lt;code>IUndoableOperation&lt;/code> is missing this method.
+ *
+ * @param label command's new label
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_HLRu9nPGEd-bh5e9e7eOjw" name="label" type="_QJNf73OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_HLIlAnPGEd-bh5e9e7eOjw" name="CommandResult"/>
+ <packagedElement xmi:type="uml:Interface" xmi:id="_HLbf8HPGEd-bh5e9e7eOjw" name="ICompositeCommand">
+ <ownedComment xmi:id="_HLbf8XPGEd-bh5e9e7eOjw">
+ <body>
+ * A self-composing undoable operation that is has a {@link CommandResult}, a
+ * list of affected {@link IFile}s, and is composed of child operations.
+ * &lt;P>
+ * Does not extend &lt;code>ICompositeOperation&lt;/code> because
+ * &lt;UL>
+ * &lt;LI> {@link #remove(IUndoableOperation)} does not dispose the removed
+ * operation&lt;/LI>
+ * &lt;LI> Children are explicitely composed by the client. Adding to an open
+ * composite through the operation history is not supported.&lt;/LI>
+ * &lt;/UL>
+ *
+ * @author ldamus
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_HLbf8nPGEd-bh5e9e7eOjw" general="_HK-0B3PGEd-bh5e9e7eOjw"/>
+ <ownedOperation xmi:id="_HLbf83PGEd-bh5e9e7eOjw" name="add" visibility="public" isAbstract="true">
+ <ownedComment xmi:id="_HLbf9HPGEd-bh5e9e7eOjw">
+ <body>
+ * &lt;p>
+ * Add the specified operation as a child of this operation.
+ * &lt;/p>
+ *
+ * @param operation
+ * the operation to be added. If the operation instance has
+ * already been added, this method will have no effect.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_HLbf9XPGEd-bh5e9e7eOjw" name="operation" type="_QJNf2HOxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_HLbf9nPGEd-bh5e9e7eOjw" name="remove" visibility="public" isAbstract="true">
+ <ownedComment xmi:id="_HLlQ8HPGEd-bh5e9e7eOjw">
+ <body>
+ * &lt;p>
+ * Remove the specified operation from this operation.
+ * &lt;/p>
+ * &lt;p>
+ * Unlike {@link ICompositeOperation}, this does not dispose of the removed
+ * operation since the composite did not create the operation.
+ * &lt;/p>
+ *
+ * @param operation
+ * the operation to be removed. The operation should be disposed
+ * by the receiver. This method will have no effect if the
+ * operation instance is not already a child.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_HLlQ8XPGEd-bh5e9e7eOjw" name="operation" type="_QJNf2HOxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_HLlQ8nPGEd-bh5e9e7eOjw" name="isEmpty" visibility="public" isAbstract="true">
+ <ownedComment xmi:id="_HLlQ83PGEd-bh5e9e7eOjw">
+ <body>
+ * Answers whether or not this composite operation has children.
+ *
+ * @return &lt;code>true&lt;/code> if the operation does not have children,
+ * &lt;code>false&lt;/code> otherwise.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_HLlQ9HPGEd-bh5e9e7eOjw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_HLlQ9XPGEd-bh5e9e7eOjw" name="size" visibility="public" isAbstract="true">
+ <ownedComment xmi:id="_HLlQ9nPGEd-bh5e9e7eOjw">
+ <body>
+ * Queries the number of child operations that I contain.
+ *
+ * @return my size
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_HLlQ93PGEd-bh5e9e7eOjw" type="_QJqLxnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_HLlQ-HPGEd-bh5e9e7eOjw" name="iterator" visibility="public" isAbstract="true">
+ <ownedComment xmi:id="_HLlQ-XPGEd-bh5e9e7eOjw">
+ <body>
+ * Obtains an iterator to traverse my child operations. Removing children
+ * via this iterator correctly maintains my undo contexts.
+ *
+ * @return an iterator of my children
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_HLlQ-nPGEd-bh5e9e7eOjw" type="_QJqLynOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_HLlQ-3PGEd-bh5e9e7eOjw" name="listIterator" visibility="public" isAbstract="true">
+ <ownedComment xmi:id="_HLlQ_HPGEd-bh5e9e7eOjw">
+ <body>
+ * Obtains an iterator to traverse my child operations in either direction.
+ * Adding and removing children via this iterator correctly maintains my
+ * undo contexts.
+ * &lt;p>
+ * &lt;b>Note&lt;/b> that, unlike list iterators generally, this one does not
+ * permit the addition of an operation that I already contain (the composite
+ * does not permit duplicates). Moreover, only {@link IUndoableOperation}s
+ * may be added, otherwise &lt;code>ClassCastException&lt;/code>s will result.
+ * &lt;/p>
+ *
+ * @return an iterator of my children
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_HLlQ_XPGEd-bh5e9e7eOjw" type="_QJqLznOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_HLlQ_nPGEd-bh5e9e7eOjw" name="listIterator" visibility="public" isAbstract="true">
+ <ownedComment xmi:id="_HLlQ_3PGEd-bh5e9e7eOjw">
+ <body>
+ * Obtains an iterator to traverse my child operations in either direction,
+ * starting from the specified &lt;code>index&lt;/code>. Adding and removing
+ * children via this iterator correctly maintains my undo contexts.
+ * &lt;p>
+ * &lt;b>Note&lt;/b> that, unlike list iterators generally, this one does not
+ * permit the addition of an operation that I already contain (the composite
+ * does not permit duplicates). Moreover, only {@link IUndoableOperation}s
+ * may be added, otherwise &lt;code>ClassCastException&lt;/code>s will result.
+ * &lt;/p>
+ *
+ * @param index
+ * the index in my children at which to start iterating
+ *
+ * @return an iterator of my children
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_HLlRAHPGEd-bh5e9e7eOjw" type="_QJqLznOxEd-nKvj-XTCBkg" direction="return"/>
+ <ownedParameter xmi:id="_HLlRAXPGEd-bh5e9e7eOjw" name="index" type="_QJqLxnOxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_7-bbAHPQEd-NtftfyF3YZw" name="AbstractCommand" clientDependency="_7-bbBHPQEd-NtftfyF3YZw _7-bbDHPQEd-NtftfyF3YZw" isAbstract="true">
+ <ownedComment xmi:id="_7-bbAXPQEd-NtftfyF3YZw">
+ <body>
+ * An abstract superclass for GMF {@link IUndoableOperation}s that do not
+ * modify EMF model resources.
+ * &lt;p>
+ * The operation provides a list of {@link IFile}s that are expected to be modified when
+ * the operation is executed, undone or redone. An {@link IOperationApprover} is
+ * registered with the {@link OperationHistoryFactory#getOperationHistory()} to
+ * validate the modification to these resources.
+ * &lt;p>
+ * This class is meant to be extended by clients.
+ *
+ * @author khussey
+ * @author ldamus
+ *
+ * @see org.eclipse.gmf.runtime.common.core.command.ICommand
+ * @canBeSeenBy %partners
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_7-bbA3PQEd-NtftfyF3YZw" general="_7-bbAnPQEd-NtftfyF3YZw"/>
+ <ownedAttribute xmi:id="_7_B38HPQEd-NtftfyF3YZw" name="affectedFiles" visibility="private" isLeaf="true" type="_QJNf43OxEd-nKvj-XTCBkg" isUnique="false">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_7_B38nPQEd-NtftfyF3YZw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_7_B38XPQEd-NtftfyF3YZw"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_7_B383PQEd-NtftfyF3YZw" name="commandResult" visibility="private" type="_HLIlAnPGEd-bh5e9e7eOjw" isUnique="false"/>
+ <ownedOperation xmi:id="_7_B39HPQEd-NtftfyF3YZw" name="getAffectedFiles" visibility="public">
+ <ownedComment xmi:id="_7_B39XPQEd-NtftfyF3YZw">
+ <body>
+ * Returns the {@link IFile}s that may be modified when the operation is
+ * executed, undone or redone.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_7_B39nPQEd-NtftfyF3YZw" type="_QJNf43OxEd-nKvj-XTCBkg" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_7_LB4XPQEd-NtftfyF3YZw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_7_LB4HPQEd-NtftfyF3YZw"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_7_LB4nPQEd-NtftfyF3YZw" name="getCommandResult" visibility="public">
+ <ownedParameter xmi:id="_7_LB43PQEd-NtftfyF3YZw" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_7_LB5HPQEd-NtftfyF3YZw" name="setResult" visibility="protected" isLeaf="true">
+ <ownedComment xmi:id="_7_LB5XPQEd-NtftfyF3YZw">
+ <body>
+ * Sets the command result.
+ *
+ * @param result
+ * the new result for this command.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_7_LB5nPQEd-NtftfyF3YZw" name="result" type="_HLIlAnPGEd-bh5e9e7eOjw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_7_Uy4HPQEd-NtftfyF3YZw" name="compose" visibility="public">
+ <ownedParameter xmi:id="_7_Uy4XPQEd-NtftfyF3YZw" type="_HK-0B3PGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_7_Uy4nPQEd-NtftfyF3YZw" name="operation" type="_QJNf2HOxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_7_Uy43PQEd-NtftfyF3YZw" name="reduce" visibility="public">
+ <ownedParameter xmi:id="_7_Uy5HPQEd-NtftfyF3YZw" type="_HK-0B3PGEd-bh5e9e7eOjw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_7_Uy5XPQEd-NtftfyF3YZw" name="execute" visibility="public">
+ <ownedComment xmi:id="_7_Uy5nPQEd-NtftfyF3YZw">
+ <body>
+ * Delegates to {@link #doExecuteWithResult(IProgressMonitor, IAdaptable)} and sets
+ * the command result.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_7_Uy53PQEd-NtftfyF3YZw" type="_fXmVnnOxEd-nKvj-XTCBkg" direction="return"/>
+ <ownedParameter xmi:id="_7_Uy6HPQEd-NtftfyF3YZw" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_7_Uy6XPQEd-NtftfyF3YZw" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_7_Uy6nPQEd-NtftfyF3YZw" name="doExecuteWithResult" visibility="protected" isAbstract="true">
+ <ownedComment xmi:id="_7_Uy63PQEd-NtftfyF3YZw">
+ <body>
+ * Performs the actual work of executing this command. Subclasses must
+ * implement this method to perform some operation.
+ *
+ * @param progressMonitor
+ * the progress monitor provided by the operation history. Must
+ * never be &lt;code>null&lt;/code>.
+ * @param info
+ * the IAdaptable (or &lt;code>null&lt;/code>) provided by the
+ * caller in order to supply UI information for prompting the
+ * user if necessary. When this parameter is not
+ * &lt;code>null&lt;/code>, it should minimally contain an adapter
+ * for the org.eclipse.swt.widgets.Shell.class.
+ *
+ * @return The result of executing this command. May be &lt;code>null&lt;/code>
+ * if the execution status is OK, but there is no meaningful result
+ * to be returned.
+ *
+ * @throws ExecutionException
+ * if, for some reason, I fail to complete the operation
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_7_ej4HPQEd-NtftfyF3YZw" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_7_ej4XPQEd-NtftfyF3YZw" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_7_ej4nPQEd-NtftfyF3YZw" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_7_ej43PQEd-NtftfyF3YZw" name="redo" visibility="public">
+ <ownedComment xmi:id="_7_ej5HPQEd-NtftfyF3YZw">
+ <body>
+ * Delegates to {@link #doRedoWithResult(IProgressMonitor, IAdaptable)} and sets the
+ * command result.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_7_ej5XPQEd-NtftfyF3YZw" type="_fXmVnnOxEd-nKvj-XTCBkg" direction="return"/>
+ <ownedParameter xmi:id="_7_ej5nPQEd-NtftfyF3YZw" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_7_ej53PQEd-NtftfyF3YZw" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_7_ej6HPQEd-NtftfyF3YZw" name="doRedoWithResult" visibility="protected" isAbstract="true">
+ <ownedComment xmi:id="_7_ej6XPQEd-NtftfyF3YZw">
+ <body>
+ * Performs the actual work of redoing this command. Subclasses must
+ * implement this method to perform the redo.
+ *
+ * @param progressMonitor
+ * the progress monitor provided by the operation history. Must
+ * never be &lt;code>null&lt;/code>.
+ * @param info
+ * the IAdaptable (or &lt;code>null&lt;/code>) provided by the
+ * caller in order to supply UI information for prompting the
+ * user if necessary. When this parameter is not
+ * &lt;code>null&lt;/code>, it should minimally contain an adapter
+ * for the org.eclipse.swt.widgets.Shell.class.
+ *
+ * @return The result of redoing this command. May be &lt;code>null&lt;/code>
+ * if the execution status is OK, but there is no meaningful result
+ * to be returned.
+ *
+ * @throws ExecutionException
+ * on failure to redo
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_7_ej6nPQEd-NtftfyF3YZw" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_7_ej63PQEd-NtftfyF3YZw" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_7_ej7HPQEd-NtftfyF3YZw" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_7_ej7XPQEd-NtftfyF3YZw" name="undo" visibility="public">
+ <ownedComment xmi:id="_7_ej7nPQEd-NtftfyF3YZw">
+ <body>
+ * Delegates to {@link #doUndoWithResult(IProgressMonitor, IAdaptable)} and sets the
+ * command result.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_7_ej73PQEd-NtftfyF3YZw" type="_fXmVnnOxEd-nKvj-XTCBkg" direction="return"/>
+ <ownedParameter xmi:id="_7_ej8HPQEd-NtftfyF3YZw" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_7_ej8XPQEd-NtftfyF3YZw" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_7_nt0HPQEd-NtftfyF3YZw" name="doUndoWithResult" visibility="protected" isAbstract="true">
+ <ownedComment xmi:id="_7_nt0XPQEd-NtftfyF3YZw">
+ <body>
+ * Performs the actual work of undoing this command. Subclasses must
+ * implement this method to perform the undo.
+ *
+ * @param progressMonitor
+ * the progress monitor provided by the operation history. Must
+ * never be &lt;code>null&lt;/code>.
+ * @param info
+ * the IAdaptable (or &lt;code>null&lt;/code>) provided by the
+ * caller in order to supply UI information for prompting the
+ * user if necessary. When this parameter is not
+ * &lt;code>null&lt;/code>, it should minimally contain an adapter
+ * for the org.eclipse.swt.widgets.Shell.class.
+ *
+ * @return The result of undoing this command. May be &lt;code>null&lt;/code>
+ * if the execution status is OK, but there is no meaningful result
+ * to be returned.
+ *
+ * @throws ExecutionException
+ * on failure to undo
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_7_nt0nPQEd-NtftfyF3YZw" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_7_nt03PQEd-NtftfyF3YZw" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_7_nt1HPQEd-NtftfyF3YZw" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_7_nt1XPQEd-NtftfyF3YZw" name="dispose" visibility="public"/>
+ <ownedOperation xmi:id="_7_nt1nPQEd-NtftfyF3YZw" name="internalSetResult" visibility="public">
+ <ownedComment xmi:id="_7_nt13PQEd-NtftfyF3YZw">
+ <body>
+ * Internal method to set the command result.
+ *
+ * @param result CommandResult to set
+ * @deprecated internal API
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_7_nt2HPQEd-NtftfyF3YZw" name="result" type="_HLIlAnPGEd-bh5e9e7eOjw"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Realization" xmi:id="_7-bbBHPQEd-NtftfyF3YZw" name="AbstractCommand extends ICommand" supplier="_HK-0B3PGEd-bh5e9e7eOjw" client="_7-bbAHPQEd-NtftfyF3YZw"/>
+ <packagedElement xmi:type="uml:Realization" xmi:id="_7-bbDHPQEd-NtftfyF3YZw" name="AbstractCommand extends ICommandWithSettableResult" supplier="_7-bbC3PQEd-NtftfyF3YZw" client="_7-bbAHPQEd-NtftfyF3YZw"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_-YGLoHPREd-NtftfyF3YZw" name="CompositeCommand" clientDependency="_-YGLo3PREd-NtftfyF3YZw">
+ <ownedComment xmi:id="_-YGLoXPREd-NtftfyF3YZw">
+ <body>
+ * An undoable command that is composed of child {@link IUndoableOperation}s
+ * that are not known to modify EMF model resources, but can contain
+ * model-affecting children. Execute, undo, redo and dispose result in execute,
+ * undo, redo and dispose on each child operation. The operation provides a list
+ * of {@link IFile}s that may be modified when the operation is executed,
+ * undone or redone.
+ * &lt;P>
+ * The children are explicitly composed by a client before the composite is
+ * executed. Children cannot be added or removed after the composite has been
+ * executed.
+ * &lt;P>
+ * The undo contexts of the composite are a union of the undo contexts of its
+ * children.
+ * &lt;P>
+ * If a child command returns a cancel or an error status during execution, undo
+ * or redo, the remaining child commands are not processed and those that have
+ * already been executed are rolled back.
+ *
+ * @author ldamus
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_-YGLonPREd-NtftfyF3YZw" general="_7-bbAHPQEd-NtftfyF3YZw"/>
+ <ownedAttribute xmi:id="_-YGLpHPREd-NtftfyF3YZw" name="children" visibility="private" isLeaf="true" type="_QJNf43OxEd-nKvj-XTCBkg" isUnique="false">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-YGLpnPREd-NtftfyF3YZw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-YGLpXPREd-NtftfyF3YZw"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_-YGLp3PREd-NtftfyF3YZw" name="executed" visibility="private" type="_QJqLwnOxEd-nKvj-XTCBkg" isUnique="false"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_-ZlZYXPREd-NtftfyF3YZw" name="ChildIterator" visibility="private" clientDependency="_-ZlZY3PREd-NtftfyF3YZw">
+ <ownedComment xmi:id="_-ZlZYnPREd-NtftfyF3YZw">
+ <body>
+ * Custom iterator implementation that maintains my undo contexts correctly
+ * when elements are removed.
+ *
+ * @author ldamus
+ </body>
+ </ownedComment>
+ <ownedAttribute xmi:id="_-ZlZZHPREd-NtftfyF3YZw" name="last" visibility="protected" type="_msnXL3O4Ed-nKvj-XTCBkg" isUnique="false"/>
+ <ownedAttribute xmi:id="_-ZlZZXPREd-NtftfyF3YZw" name="iter" visibility="protected" isLeaf="true" type="_QJqLznOxEd-nKvj-XTCBkg" isUnique="false"/>
+ <ownedOperation xmi:id="_-ZlZZnPREd-NtftfyF3YZw" name="remove" visibility="public"/>
+ <ownedOperation xmi:id="_-ZlZZ3PREd-NtftfyF3YZw" name="next" visibility="public">
+ <ownedParameter xmi:id="_-ZlZaHPREd-NtftfyF3YZw" type="_msnXL3O4Ed-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-ZlZaXPREd-NtftfyF3YZw" name="hasNext" visibility="public">
+ <ownedParameter xmi:id="_-ZlZanPREd-NtftfyF3YZw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ </nestedClassifier>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_-ZvKYHPREd-NtftfyF3YZw" name="ChildListIterator" visibility="private" clientDependency="_-ZvKY3PREd-NtftfyF3YZw">
+ <ownedComment xmi:id="_-ZvKYXPREd-NtftfyF3YZw">
+ <body>
+ * Custom list-iterator implementation that maintains my undo contexts
+ * correctly, as well as uniqueness of the list contents.
+ *
+ * @author ldamus
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_-ZvKYnPREd-NtftfyF3YZw" general="_-ZlZYXPREd-NtftfyF3YZw"/>
+ <ownedOperation xmi:id="_-ZvKZHPREd-NtftfyF3YZw" name="add" visibility="public">
+ <ownedParameter xmi:id="_-ZvKZXPREd-NtftfyF3YZw" name="o" type="_msnXL3O4Ed-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-ZvKZnPREd-NtftfyF3YZw" name="set" visibility="public">
+ <ownedParameter xmi:id="_-ZvKZ3PREd-NtftfyF3YZw" name="o" type="_msnXL3O4Ed-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-ZvKaHPREd-NtftfyF3YZw" name="previousIndex" visibility="public">
+ <ownedParameter xmi:id="_-ZvKaXPREd-NtftfyF3YZw" type="_QJqLxnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-Z4UUHPREd-NtftfyF3YZw" name="nextIndex" visibility="public">
+ <ownedParameter xmi:id="_-Z4UUXPREd-NtftfyF3YZw" type="_QJqLxnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-Z4UUnPREd-NtftfyF3YZw" name="previous" visibility="public">
+ <ownedParameter xmi:id="_-Z4UU3PREd-NtftfyF3YZw" type="_msnXL3O4Ed-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-Z4UVHPREd-NtftfyF3YZw" name="hasPrevious" visibility="public">
+ <ownedParameter xmi:id="_-Z4UVXPREd-NtftfyF3YZw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ </nestedClassifier>
+ <ownedOperation xmi:id="_-YGLqHPREd-NtftfyF3YZw" name="isEmpty" visibility="public" isLeaf="true">
+ <ownedComment xmi:id="_-YGLqXPREd-NtftfyF3YZw">
+ <body>
+ * Answers whether or not this composite operation has children.
+ *
+ * @return &lt;code>true&lt;/code> if the operation does not have children,
+ * &lt;code>false&lt;/code> otherwise.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-YGLqnPREd-NtftfyF3YZw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-YGLq3PREd-NtftfyF3YZw" name="getChildren" visibility="protected">
+ <ownedComment xmi:id="_-YGLrHPREd-NtftfyF3YZw">
+ <body>
+ * Obtains my nested operations. Note that the return result is mutable and
+ * is identical to my child-operation storage, so subclasses should be
+ * careful of adding or removing contents. This should ordinarily be done
+ * only via the {@link #add(IUndoableOperation)} and
+ * {@link #remove(IUndoableOperation)} methods because these maintain the
+ * undo contexts (or, equivalently, using the iterators).
+ *
+ * @return my list of children
+ *
+ * @see #add(IUndoableOperation)
+ * @see #remove(IUndoableOperation)
+ * @see #iterator()
+ * @see #listIterator(int)
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-YGLrXPREd-NtftfyF3YZw" type="_QJNf43OxEd-nKvj-XTCBkg" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-YPVkXPREd-NtftfyF3YZw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-YPVkHPREd-NtftfyF3YZw"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-YPVknPREd-NtftfyF3YZw" name="size" visibility="public">
+ <ownedParameter xmi:id="_-YPVk3PREd-NtftfyF3YZw" type="_QJqLxnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-YPVlHPREd-NtftfyF3YZw" name="add" visibility="public">
+ <ownedComment xmi:id="_-YPVlXPREd-NtftfyF3YZw">
+ <body>
+ * Adds a child operation to me. This should only be done before I am
+ * executed. Has no effect if I already contain this operation as a child.
+ *
+ * @param operation
+ * a new child operation
+ *
+ * @throws IllegalStateException
+ * if I have already been successfully executed
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-YPVlnPREd-NtftfyF3YZw" name="operation" type="_QJNf2HOxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-YPVl3PREd-NtftfyF3YZw" name="didAdd" visibility="private">
+ <ownedComment xmi:id="_-YPVmHPREd-NtftfyF3YZw">
+ <body>
+ * Updates my undo contexts for the addition of a new child operation.
+ *
+ * @param operation
+ * a new child operation
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-YPVmXPREd-NtftfyF3YZw" name="operation" type="_QJNf2HOxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-YPVmnPREd-NtftfyF3YZw" name="remove" visibility="public">
+ <ownedComment xmi:id="_-YPVm3PREd-NtftfyF3YZw">
+ <body>
+ * Removes a child operation from me. This should only be done before I am
+ * executed. Has no effect if I do not contain this operation as a child.
+ * &lt;p>
+ * &lt;b>Note&lt;/b> that I do not dispose an operation when it is removed from
+ * me. Although this is specified in the contract of the
+ * {@link ICompositeOperation} interface, this would not be correct, as I
+ * did not create that operation.
+ * &lt;/p>
+ *
+ * @param operation
+ * a child operation to remove
+ *
+ * @throws IllegalStateException
+ * if I have already been successfully executed
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-YPVnHPREd-NtftfyF3YZw" name="operation" type="_QJNf2HOxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-YPVnXPREd-NtftfyF3YZw" name="didRemove" visibility="private">
+ <ownedComment xmi:id="_-YPVnnPREd-NtftfyF3YZw">
+ <body>
+ * Updates my undo contexts for the removal of a child operation.
+ *
+ * @param operation
+ * the child operation that was removed
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-YPVn3PREd-NtftfyF3YZw" name="operation" type="_QJNf2HOxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-YPVoHPREd-NtftfyF3YZw" name="anyChildHasContext" visibility="private">
+ <ownedComment xmi:id="_-YPVoXPREd-NtftfyF3YZw">
+ <body>
+ * Queries whether any of my children has the specified context.
+ *
+ * @param ctx
+ * a context
+ *
+ * @return &lt;code>false&lt;/code> if none of my children has the specified
+ * context; &lt;code>true&lt;/code>, otherwise
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-YZGkHPREd-NtftfyF3YZw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ <ownedParameter xmi:id="_-YZGkXPREd-NtftfyF3YZw" name="ctx" type="_fXdLoXOxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-YZGknPREd-NtftfyF3YZw" name="canExecute" visibility="public">
+ <ownedComment xmi:id="_-YZGk3PREd-NtftfyF3YZw">
+ <body>
+ * I can execute if I am not empty and all of my children can execute.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-YZGlHPREd-NtftfyF3YZw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-YZGlXPREd-NtftfyF3YZw" name="canRedo" visibility="public">
+ <ownedComment xmi:id="_-YZGlnPREd-NtftfyF3YZw">
+ <body>
+ * I can redo if I am not empty and all my children can all be redone.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-YZGl3PREd-NtftfyF3YZw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-YZGmHPREd-NtftfyF3YZw" name="canUndo" visibility="public">
+ <ownedComment xmi:id="_-YZGmXPREd-NtftfyF3YZw">
+ <body>
+ * I can undo if I am not empty and all my children can all be undone.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-YZGmnPREd-NtftfyF3YZw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-YZGm3PREd-NtftfyF3YZw" name="dispose" visibility="public">
+ <ownedComment xmi:id="_-YZGnHPREd-NtftfyF3YZw">
+ <body>
+ * Disposes of each of my children.
+ </body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-YZGnXPREd-NtftfyF3YZw" name="compose" visibility="public" isLeaf="true">
+ <ownedComment xmi:id="_-YZGnnPREd-NtftfyF3YZw">
+ <body>
+ * Adds &lt;code>command&lt;/code> to the list of commands with which this
+ * composite is composed.
+ *
+ * @param operation
+ * The command with which to compose this command.
+ * @return &lt;code>this&lt;/code>.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-YZGn3PREd-NtftfyF3YZw" type="_HK-0B3PGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_-YZGoHPREd-NtftfyF3YZw" name="operation" type="_QJNf2HOxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-YZGoXPREd-NtftfyF3YZw" name="compose" visibility="public" isStatic="true">
+ <ownedComment xmi:id="_-YZGonPREd-NtftfyF3YZw">
+ <body>
+ * Appends a command onto a (possibly) existing composeite of commands.
+ *
+ * @param command an existing command, which may be a composite, a single
+ * command, or &lt;code>null&lt;/code>
+ * @param next a command to append to the composite (may also be
+ * &lt;code>null&lt;/code>, which produces no effect)
+ *
+ * @return the new composite, which is just &lt;code>next&lt;/code> if
+ * &lt;code>command&lt;/code> was &lt;code>null&lt;/code>
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-Yi3kHPREd-NtftfyF3YZw" type="_HK-0B3PGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_-Yi3kXPREd-NtftfyF3YZw" name="command" type="_HK-0B3PGEd-bh5e9e7eOjw"/>
+ <ownedParameter xmi:id="_-Yi3knPREd-NtftfyF3YZw" name="next" type="_HK-0B3PGEd-bh5e9e7eOjw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-Yi3k3PREd-NtftfyF3YZw" name="reduce" visibility="public">
+ <ownedComment xmi:id="_-Yi3lHPREd-NtftfyF3YZw">
+ <body>
+ * Returns the simplest form of this command that is equivalent. This is
+ * useful for removing unnecessary nesting of commands.
+ * &lt;P>
+ * If the composite has a single command, it returns the reduction of that
+ * single command. Otherwise, it returns itself.
+ *
+ * @return the simplest form of this command that is equivalent
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-Yi3lXPREd-NtftfyF3YZw" type="_HK-0B3PGEd-bh5e9e7eOjw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-Yi3lnPREd-NtftfyF3YZw" name="getReturnValues" visibility="protected">
+ <ownedComment xmi:id="_-Yi3l3PREd-NtftfyF3YZw">
+ <body>
+ * Returns a list containing all of the return values from
+ * &lt;code>ICommand&lt;/code> children.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-Yi3mHPREd-NtftfyF3YZw" type="_QJNf43OxEd-nKvj-XTCBkg" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-Yi3mnPREd-NtftfyF3YZw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-Yi3mXPREd-NtftfyF3YZw"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-Yi3m3PREd-NtftfyF3YZw" name="doExecuteWithResult" visibility="protected">
+ <ownedComment xmi:id="_-Yi3nHPREd-NtftfyF3YZw">
+ <body>
+ * Implements the execution logic by sequential execution of my children.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-YsBgHPREd-NtftfyF3YZw" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_-YsBgXPREd-NtftfyF3YZw" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_-YsBgnPREd-NtftfyF3YZw" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-YsBg3PREd-NtftfyF3YZw" name="unwindFailedExecute" visibility="private">
+ <ownedComment xmi:id="_-YsBhHPREd-NtftfyF3YZw">
+ <body>
+ * Undoes the previous operations in the iterator.
+ *
+ * @param iter
+ * the execution iterator
+ * @param info
+ * the execution info
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-YsBhXPREd-NtftfyF3YZw" name="iter" type="_QJqLznOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_-YsBhnPREd-NtftfyF3YZw" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-YsBh3PREd-NtftfyF3YZw" name="doRedoWithResult" visibility="protected">
+ <ownedComment xmi:id="_-YsBiHPREd-NtftfyF3YZw">
+ <body>
+ * I redo by asking my children to redo, in forward order.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-YsBiXPREd-NtftfyF3YZw" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_-YsBinPREd-NtftfyF3YZw" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_-YsBi3PREd-NtftfyF3YZw" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-Y1ygHPREd-NtftfyF3YZw" name="unwindFailedRedo" visibility="private">
+ <ownedComment xmi:id="_-Y1ygXPREd-NtftfyF3YZw">
+ <body>
+ * Undoes the previous operations in the iterator.
+ *
+ * @param iter
+ * the execution iterator
+ * @param info
+ * the execution info
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-Y1ygnPREd-NtftfyF3YZw" name="iter" type="_QJqLznOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_-Y1yg3PREd-NtftfyF3YZw" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-Y1yhHPREd-NtftfyF3YZw" name="doUndoWithResult" visibility="protected">
+ <ownedComment xmi:id="_-Y1yhXPREd-NtftfyF3YZw">
+ <body>
+ * I undo by asking my children to undo, in reverse order.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-Y1yhnPREd-NtftfyF3YZw" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_-Y1yh3PREd-NtftfyF3YZw" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_-Y1yiHPREd-NtftfyF3YZw" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-Y1yiXPREd-NtftfyF3YZw" name="unwindFailedUndo" visibility="private">
+ <ownedComment xmi:id="_-Y1yinPREd-NtftfyF3YZw">
+ <body>
+ * Redoes the next operations in the iterator.
+ *
+ * @param iter
+ * the execution iterator
+ * @param info
+ * the execution info
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-Y1yi3PREd-NtftfyF3YZw" name="iter" type="_QJqLznOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_-Y1yjHPREd-NtftfyF3YZw" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-Y1yjXPREd-NtftfyF3YZw" name="aggregateStatuses" visibility="protected">
+ <ownedComment xmi:id="_-Y1yjnPREd-NtftfyF3YZw">
+ <body>
+ * Creates a suitable aggregate from these statuses. If there are no
+ * statuses to aggregate, then an OK status is returned. If there is a
+ * single status to aggregate, then it is returned. Otherwise, a
+ * multi-status is returned with the provided statuses as children.
+ *
+ * @param statuses
+ * the statuses to aggregate. May have zero, one, or more
+ * elements (all must be {@link IStatus}es)
+ *
+ * @return the multi-status
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-Y-8cHPREd-NtftfyF3YZw" type="_fXmVnnOxEd-nKvj-XTCBkg" direction="return"/>
+ <ownedParameter xmi:id="_-Y-8cXPREd-NtftfyF3YZw" name="statuses" type="_QJNf43OxEd-nKvj-XTCBkg">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-Y-8c3PREd-NtftfyF3YZw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-Y-8cnPREd-NtftfyF3YZw"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-Y-8dHPREd-NtftfyF3YZw" name="isExecuted" visibility="protected" isLeaf="true">
+ <ownedComment xmi:id="_-Y-8dXPREd-NtftfyF3YZw">
+ <body>
+ * Answers whether or not I have been executed.
+ *
+ * @return &lt;code>true&lt;/code> if I have been executed, &lt;code>false&lt;/code>
+ * otherwise.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-Y-8dnPREd-NtftfyF3YZw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-Y-8d3PREd-NtftfyF3YZw" name="assertNotExecuted" visibility="protected" isLeaf="true">
+ <ownedComment xmi:id="_-Y-8eHPREd-NtftfyF3YZw">
+ <body>
+ * Asserts that I have not yet been executed. Changes to my children are not
+ * permitted after I have been executed.
+ </body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-ZItcHPREd-NtftfyF3YZw" name="getAffectedFiles" visibility="public">
+ <ownedComment xmi:id="_-ZItcXPREd-NtftfyF3YZw">
+ <body>
+ * Returns a list containing all of the affected files from
+ * &lt;code>ICommand&lt;/code> children.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-ZItcnPREd-NtftfyF3YZw" type="_QJNf43OxEd-nKvj-XTCBkg" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-ZItdHPREd-NtftfyF3YZw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-ZItc3PREd-NtftfyF3YZw"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-ZItdXPREd-NtftfyF3YZw" name="iterator" visibility="public">
+ <ownedComment xmi:id="_-ZItdnPREd-NtftfyF3YZw">
+ <body>
+ * Obtains an iterator to traverse my child operations. Removing children
+ * via this iterator correctly maintains my undo contexts.
+ *
+ * @return an iterator of my children
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-ZItd3PREd-NtftfyF3YZw" type="_QJqLynOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-ZIteHPREd-NtftfyF3YZw" name="listIterator" visibility="public">
+ <ownedComment xmi:id="_-ZIteXPREd-NtftfyF3YZw">
+ <body>
+ * Obtains an iterator to traverse my child operations in either direction.
+ * Adding and removing children via this iterator correctly maintains my
+ * undo contexts.
+ * &lt;p>
+ * &lt;b>Note&lt;/b> that, unlike list iterators generally, this implementation
+ * does not permit the addition of an operation that I already contain (the
+ * composite does not permit duplicates). Moreover, only
+ * {@link IUndoableOperation}s may be added, otherwise
+ * &lt;code>ClassCastException&lt;/code>s will result.
+ * &lt;/p>
+ *
+ * @return an iterator of my children
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-ZItenPREd-NtftfyF3YZw" type="_QJqLznOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-ZboYHPREd-NtftfyF3YZw" name="listIterator" visibility="public">
+ <ownedComment xmi:id="_-ZboYXPREd-NtftfyF3YZw">
+ <body>
+ * Obtains an iterator to traverse my child operations in either direction,
+ * starting from the specified &lt;code>index&lt;/code>. Adding and removing
+ * children via this iterator correctly maintains my undo contexts.
+ * &lt;p>
+ * &lt;b>Note&lt;/b> that, unlike list iterators generally, this implementation
+ * does not permit the addition of an operation that I already contain (the
+ * composite does not permit duplicates). Moreover, only
+ * {@link IUndoableOperation}s may be added, otherwise
+ * &lt;code>ClassCastException&lt;/code>s will result.
+ * &lt;/p>
+ *
+ * @param index
+ * the index in my children at which to start iterating
+ *
+ * @return an iterator of my children
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_-ZboYnPREd-NtftfyF3YZw" type="_QJqLznOxEd-nKvj-XTCBkg" direction="return"/>
+ <ownedParameter xmi:id="_-ZlZYHPREd-NtftfyF3YZw" name="index" type="_QJqLxnOxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_-Z4UVnPREd-NtftfyF3YZw" name="getCommandResult" visibility="public">
+ <ownedParameter xmi:id="_-Z4UV3PREd-NtftfyF3YZw" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Realization" xmi:id="_-YGLo3PREd-NtftfyF3YZw" name="CompositeCommand extends ICompositeCommand" supplier="_HLbf8HPGEd-bh5e9e7eOjw" client="_-YGLoHPREd-NtftfyF3YZw"/>
+ <packagedElement xmi:type="uml:Realization" xmi:id="_-ZlZY3PREd-NtftfyF3YZw" name="ChildIterator extends Iterator" supplier="_msnXLXO4Ed-nKvj-XTCBkg" client="_-ZlZYXPREd-NtftfyF3YZw"/>
+ <packagedElement xmi:type="uml:Realization" xmi:id="_-ZvKY3PREd-NtftfyF3YZw" name="ChildListIterator extends ListIterator" supplier="_mswhE3O4Ed-nKvj-XTCBkg" client="_-ZvKYHPREd-NtftfyF3YZw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_mNECQXh3Ed-ECKyh8Dg6Wg" name="internal">
+ <packagedElement xmi:type="uml:Package" xmi:id="_mNNzQHh3Ed-ECKyh8Dg6Wg" name="command">
+ <packagedElement xmi:type="uml:Interface" xmi:id="_mNNzQXh3Ed-ECKyh8Dg6Wg" name="ICommandWithSettableResult"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_o_y9sHh5Ed-ECKyh8Dg6Wg" name="util">
+ <packagedElement xmi:type="uml:Class" xmi:id="_o_y9sXh5Ed-ECKyh8Dg6Wg" name="ObjectAdapter"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_ioJ48Hc2Ed-96YWU42lBhw" name="ui">
+ <packagedElement xmi:type="uml:Package" xmi:id="_ioJ48Xc2Ed-96YWU42lBhw" name="action">
+ <packagedElement xmi:type="uml:Class" xmi:id="_ioJ48nc2Ed-96YWU42lBhw" name="ActionManager"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_pzpcgHh5Ed-ECKyh8Dg6Wg" name="util">
+ <packagedElement xmi:type="uml:Interface" xmi:id="_pzpcgXh5Ed-ECKyh8Dg6Wg" name="ICustomData"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_p72WQHh5Ed-ECKyh8Dg6Wg" name="dialogs">
+ <packagedElement xmi:type="uml:Class" xmi:id="_p7_gMHh5Ed-ECKyh8Dg6Wg" name="PopupDialog"/>
+ </packagedElement>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_huFo0HPSEd-NtftfyF3YZw" name="emf">
+ <packagedElement xmi:type="uml:Package" xmi:id="_huFo0XPSEd-NtftfyF3YZw" name="commands">
+ <packagedElement xmi:type="uml:Package" xmi:id="_huFo0nPSEd-NtftfyF3YZw" name="core">
+ <packagedElement xmi:type="uml:Package" xmi:id="_huFo03PSEd-NtftfyF3YZw" name="command">
+ <packagedElement xmi:type="uml:Class" xmi:id="_huFo1HPSEd-NtftfyF3YZw" name="AbstractTransactionalCommand" clientDependency="_huPZ1XPSEd-NtftfyF3YZw _huPZ1nPSEd-NtftfyF3YZw _mNguMHh3Ed-ECKyh8Dg6Wg" isAbstract="true">
+ <ownedComment xmi:id="_huPZ0HPSEd-NtftfyF3YZw">
+ <body>
+ * An abstract superclass for GMF {@link IUndoableOperation}s that modify EMF
+ * model resources.
+ * &lt;p>
+ * The operation provides a list of {@link IFile}s that are expected to be
+ * modified when the operation is executed, undone or redone. An
+ * {@link IOperationApprover} is registered with the
+ * {@link OperationHistoryFactory#getOperationHistory()} to validate the
+ * modification to these resources.
+ * &lt;p>
+ * Subclasses must return the command execution result in their implementation
+ * of {@link #doExecuteWithResult(IProgressMonitor, IAdaptable)}.
+ * &lt;p>
+ * This class is meant to be extended by clients.
+ *
+ * @author ldamus
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_mNECQHh3Ed-ECKyh8Dg6Wg" general="_5f8UdHPSEd-NtftfyF3YZw"/>
+ <ownedAttribute xmi:id="_huYjxXPSEd-NtftfyF3YZw" name="affectedFiles" visibility="private" isLeaf="true" type="_QJNf43OxEd-nKvj-XTCBkg" isUnique="false">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_huYjx3PSEd-NtftfyF3YZw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_huYjxnPSEd-NtftfyF3YZw"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_huYjyHPSEd-NtftfyF3YZw" name="commandResult" visibility="private" type="_HLIlAnPGEd-bh5e9e7eOjw" isUnique="false"/>
+ <ownedOperation xmi:id="_huPZ2XPSEd-NtftfyF3YZw" name="getWorkspaceFiles" visibility="protected" isStatic="true">
+ <ownedComment xmi:id="_huPZ2nPSEd-NtftfyF3YZw">
+ <body>
+ * Convenience method to get a list of workspaces files associated with
+ * &lt;code>eObject&lt;/code>.
+ *
+ * @param eObject
+ * the model object, may be &lt;code>null&lt;/code>
+ * @return the list of {@link IFile}s
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_huPZ23PSEd-NtftfyF3YZw" type="_QJNf43OxEd-nKvj-XTCBkg" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_huPZ3XPSEd-NtftfyF3YZw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_huPZ3HPSEd-NtftfyF3YZw"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_huPZ3nPSEd-NtftfyF3YZw" name="eObject" type="_huPZ2HPSEd-NtftfyF3YZw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_huPZ33PSEd-NtftfyF3YZw" name="getWorkspaceFiles" visibility="protected" isStatic="true">
+ <ownedComment xmi:id="_huPZ4HPSEd-NtftfyF3YZw">
+ <body>
+ * Convenience method to get a list of workspaces files associated with
+ * {@link EObject}s in &lt;code>eObject&lt;/code>.
+ *
+ * @param eObjects
+ * the list of model object
+ * @return the list of {@link IFile}s
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_huPZ4XPSEd-NtftfyF3YZw" type="_QJNf43OxEd-nKvj-XTCBkg" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_huYjwXPSEd-NtftfyF3YZw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_huYjwHPSEd-NtftfyF3YZw"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_huYjwnPSEd-NtftfyF3YZw" name="eObjects" type="_QJNf43OxEd-nKvj-XTCBkg">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_huYjxHPSEd-NtftfyF3YZw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_huYjw3PSEd-NtftfyF3YZw"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_huYjyXPSEd-NtftfyF3YZw" name="getAffectedFiles" visibility="public">
+ <ownedComment xmi:id="_huYjynPSEd-NtftfyF3YZw">
+ <body>
+ * Returns the {@link IFile}s for resources that may be modified when the
+ * operation is executed, undone or redone.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_huiUwHPSEd-NtftfyF3YZw" type="_QJNf43OxEd-nKvj-XTCBkg" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_huiUwnPSEd-NtftfyF3YZw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_huiUwXPSEd-NtftfyF3YZw"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_huiUw3PSEd-NtftfyF3YZw" name="getCommandResult" visibility="public" isLeaf="true">
+ <ownedParameter xmi:id="_huiUxHPSEd-NtftfyF3YZw" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_huiUxXPSEd-NtftfyF3YZw" name="setResult" visibility="protected" isLeaf="true">
+ <ownedComment xmi:id="_huiUxnPSEd-NtftfyF3YZw">
+ <body>
+ * Sets the command result.
+ *
+ * @param result
+ * the new result for this command.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_huiUx3PSEd-NtftfyF3YZw" name="result" type="_HLIlAnPGEd-bh5e9e7eOjw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_huiUyHPSEd-NtftfyF3YZw" name="compose" visibility="public">
+ <ownedParameter xmi:id="_huiUyXPSEd-NtftfyF3YZw" type="_HK-0B3PGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_huiUynPSEd-NtftfyF3YZw" name="operation" type="_QJNf2HOxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_huiUy3PSEd-NtftfyF3YZw" name="reduce" visibility="public">
+ <ownedParameter xmi:id="_huiUzHPSEd-NtftfyF3YZw" type="_HK-0B3PGEd-bh5e9e7eOjw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_huiUzXPSEd-NtftfyF3YZw" name="doExecuteWithResult" visibility="protected" isAbstract="true">
+ <ownedComment xmi:id="_huiUznPSEd-NtftfyF3YZw">
+ <body>
+ * Implemented by subclasses to perform the model changes. These changes
+ * are applied by manipulation of the EMF metamodel's API, &lt;em>not&lt;/em>
+ * by executing commands on the editing domain's command stack.
+ *
+ * @param monitor the progress monitor provided by the operation history
+ * @param info the adaptable provided by the operation history
+ *
+ * @return the result of the execution
+ *
+ * @throws ExecutionException if, for some reason, I fail to complete
+ * the operation
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_husFwHPSEd-NtftfyF3YZw" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_husFwXPSEd-NtftfyF3YZw" name="monitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_husFwnPSEd-NtftfyF3YZw" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_husFxXPSEd-NtftfyF3YZw" name="didUndo" visibility="protected">
+ <ownedParameter xmi:id="_husFxnPSEd-NtftfyF3YZw" name="tx" type="_0l8qUHctEd-96YWU42lBhw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_husFx3PSEd-NtftfyF3YZw" name="didRedo" visibility="protected">
+ <ownedParameter xmi:id="_husFyHPSEd-NtftfyF3YZw" name="tx" type="_0l8qUHctEd-96YWU42lBhw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_husFyXPSEd-NtftfyF3YZw" name="doExecute" visibility="protected">
+ <ownedComment xmi:id="_husFynPSEd-NtftfyF3YZw">
+ <body>
+ * Delegates to {@link #doExecuteWithResult(IProgressMonitor, IAdaptable)}
+ * to perform the model changes. Sets the command result and calls
+ * {@link #cleanup()} to give subclasses a chance to dispose of any objects
+ * that were required for the execution but will not be required for undo or
+ * redo.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_husFy3PSEd-NtftfyF3YZw" type="_fXmVnnOxEd-nKvj-XTCBkg" direction="return"/>
+ <ownedParameter xmi:id="_husFzHPSEd-NtftfyF3YZw" name="monitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_hu1PsHPSEd-NtftfyF3YZw" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_hu1PsXPSEd-NtftfyF3YZw" name="doUndo" visibility="protected">
+ <ownedComment xmi:id="_hu1PsnPSEd-NtftfyF3YZw">
+ <body>
+ * Overrides superclass to set the command result.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_hu1Ps3PSEd-NtftfyF3YZw" type="_fXmVnnOxEd-nKvj-XTCBkg" direction="return"/>
+ <ownedParameter xmi:id="_hu1PtHPSEd-NtftfyF3YZw" name="monitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_hu1PtXPSEd-NtftfyF3YZw" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_hu1PtnPSEd-NtftfyF3YZw" name="doRedo" visibility="protected">
+ <ownedComment xmi:id="_hu1Pt3PSEd-NtftfyF3YZw">
+ <body>
+ * Overrides superclass to set the command result.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_hu_AsHPSEd-NtftfyF3YZw" type="_fXmVnnOxEd-nKvj-XTCBkg" direction="return"/>
+ <ownedParameter xmi:id="_hu_AsXPSEd-NtftfyF3YZw" name="monitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_hu_AsnPSEd-NtftfyF3YZw" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_hu_As3PSEd-NtftfyF3YZw" name="aggregateStatuses" visibility="protected">
+ <ownedComment xmi:id="_hu_AtHPSEd-NtftfyF3YZw">
+ <body>
+ * Considers that the aggregate status may be different from the present
+ * status, and updates the command result accordingly.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_hu_AtXPSEd-NtftfyF3YZw" type="_fXmVnnOxEd-nKvj-XTCBkg" direction="return"/>
+ <ownedParameter xmi:id="_hu_AtnPSEd-NtftfyF3YZw" name="statuses" type="_QJNf43OxEd-nKvj-XTCBkg">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hu_AuHPSEd-NtftfyF3YZw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hu_At3PSEd-NtftfyF3YZw"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_hu_AuXPSEd-NtftfyF3YZw" name="cleanup" visibility="protected">
+ <ownedComment xmi:id="_hu_AunPSEd-NtftfyF3YZw">
+ <body>
+ * Subclasses may implement this method to dispose of objects that were
+ * required for execution, but are no longer require to undo or redo this
+ * operation.
+ * &lt;P>
+ * This method is invoked at the end of
+ * {@link #doExecute(IProgressMonitor, IAdaptable)}.
+ </body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:id="_hu_Au3PSEd-NtftfyF3YZw" name="internalSetResult" visibility="public">
+ <ownedComment xmi:id="_hu_AvHPSEd-NtftfyF3YZw">
+ <body>
+ * Internal method to set the command result.
+ *
+ * @param result CommandResult to set
+ * @deprecated internal API
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_hu_AvXPSEd-NtftfyF3YZw" name="result" type="_HLIlAnPGEd-bh5e9e7eOjw"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Realization" xmi:id="_huPZ1XPSEd-NtftfyF3YZw" name="AbstractTransactionalCommand extends ICommand" supplier="_HK-0B3PGEd-bh5e9e7eOjw" client="_huFo1HPSEd-NtftfyF3YZw"/>
+ <packagedElement xmi:type="uml:Realization" xmi:id="_huPZ1nPSEd-NtftfyF3YZw" name="AbstractTransactionalCommand extends ICommandWithSettableResult" supplier="_7-bbC3PQEd-NtftfyF3YZw" client="_huFo1HPSEd-NtftfyF3YZw"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_hwLTgHPSEd-NtftfyF3YZw" name="CompositeTransactionalCommand" clientDependency="_hwLThHPSEd-NtftfyF3YZw _hwLThXPSEd-NtftfyF3YZw _mTeMQHh3Ed-ECKyh8Dg6Wg">
+ <ownedComment xmi:id="_hwLTgXPSEd-NtftfyF3YZw">
+ <body>
+ * An undoable operation that is composed of child {@link IUndoableOperation}s
+ * that are expected to modify EMF model resources.
+ * &lt;p>
+ * The operation provides a list of {@link IFile}s that are expected to be
+ * modified when the operation is executed, undone or redone. An
+ * {@link IOperationApprover} is registered with the
+ * {@link OperationHistoryFactory#getOperationHistory()} to validate the
+ * modification to these resources.
+ * &lt;P>
+ * This class is meant to be instantiated by clients.
+ *
+ * @author ldamus
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_hwLTg3PSEd-NtftfyF3YZw" general="_hwLTgnPSEd-NtftfyF3YZw"/>
+ <ownedAttribute xmi:id="_hwLThnPSEd-NtftfyF3YZw" name="commandResult" visibility="private" type="_HLIlAnPGEd-bh5e9e7eOjw" isUnique="false"/>
+ <ownedOperation xmi:id="_hwLTh3PSEd-NtftfyF3YZw" name="getAffectedFiles" visibility="public">
+ <ownedComment xmi:id="_hwLTiHPSEd-NtftfyF3YZw">
+ <body>
+ * Returns the {@link IFile}s for resources that may be modified when the
+ * operation is executed, undone or redone.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_hwLTiXPSEd-NtftfyF3YZw" type="_QJNf43OxEd-nKvj-XTCBkg" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hwVEgXPSEd-NtftfyF3YZw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hwVEgHPSEd-NtftfyF3YZw"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_hwVEgnPSEd-NtftfyF3YZw" name="getCommandResult" visibility="public">
+ <ownedParameter xmi:id="_hwVEg3PSEd-NtftfyF3YZw" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_hwVEhHPSEd-NtftfyF3YZw" name="setResult" visibility="protected">
+ <ownedComment xmi:id="_hwVEhXPSEd-NtftfyF3YZw">
+ <body>
+ * Sets the command result.
+ *
+ * @param result
+ * the new result for this command.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_hwVEhnPSEd-NtftfyF3YZw" name="result" type="_HLIlAnPGEd-bh5e9e7eOjw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_hwVEh3PSEd-NtftfyF3YZw" name="getReturnValues" visibility="protected">
+ <ownedComment xmi:id="_hwVEiHPSEd-NtftfyF3YZw">
+ <body>
+ * Returns a list containing all of the return values from
+ * &lt;code>ICommand&lt;/code> children.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_hwVEiXPSEd-NtftfyF3YZw" type="_QJNf43OxEd-nKvj-XTCBkg" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hwVEi3PSEd-NtftfyF3YZw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hwVEinPSEd-NtftfyF3YZw"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_hwVEjHPSEd-NtftfyF3YZw" name="aggregateStatuses" visibility="protected">
+ <ownedComment xmi:id="_hwVEjXPSEd-NtftfyF3YZw">
+ <body>
+ * Overrides the superclass implementation to set the command result.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_hwVEjnPSEd-NtftfyF3YZw" type="_fXmVnnOxEd-nKvj-XTCBkg" direction="return"/>
+ <ownedParameter xmi:id="_hweOcHPSEd-NtftfyF3YZw" name="statuses" type="_QJNf43OxEd-nKvj-XTCBkg">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hweOcnPSEd-NtftfyF3YZw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hweOcXPSEd-NtftfyF3YZw"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_hweOc3PSEd-NtftfyF3YZw" name="compose" visibility="public" isLeaf="true">
+ <ownedParameter xmi:id="_hweOdHPSEd-NtftfyF3YZw" type="_HK-0B3PGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_hweOdXPSEd-NtftfyF3YZw" name="operation" type="_QJNf2HOxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_hweOdnPSEd-NtftfyF3YZw" name="reduce" visibility="public">
+ <ownedComment xmi:id="_hweOd3PSEd-NtftfyF3YZw">
+ <body>
+ * Returns the simplest form of this command that is equivalent. This is
+ * useful for removing unnecessary nesting of commands.
+ * &lt;P>
+ * If the composite has a single command, it returns the reduction of that
+ * single command. Otherwise, it returns itself.
+ *
+ * @return the simplest form of this command that is equivalent
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_hweOeHPSEd-NtftfyF3YZw" type="_HK-0B3PGEd-bh5e9e7eOjw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_hweOeXPSEd-NtftfyF3YZw" name="doReduce" visibility="private">
+ <ownedParameter xmi:id="_hweOenPSEd-NtftfyF3YZw" name="operation" type="_QJNf2HOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_hwn_cHPSEd-NtftfyF3YZw" name="children" type="_QJNf43OxEd-nKvj-XTCBkg">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hwn_cnPSEd-NtftfyF3YZw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hwn_cXPSEd-NtftfyF3YZw"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_hwn_c3PSEd-NtftfyF3YZw" name="isEmpty" visibility="public" isLeaf="true">
+ <ownedComment xmi:id="_hwn_dHPSEd-NtftfyF3YZw">
+ <body>
+ * Answers whether or not this composite operation has children.
+ *
+ * @return &lt;code>true&lt;/code> if the operation does not have children,
+ * &lt;code>false&lt;/code> otherwise.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_hwn_dXPSEd-NtftfyF3YZw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_hwn_dnPSEd-NtftfyF3YZw" name="canExecute" visibility="public">
+ <ownedComment xmi:id="_hwn_d3PSEd-NtftfyF3YZw">
+ <body>
+ * I can execute if I am not empty and all of my children can execute.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_hwn_eHPSEd-NtftfyF3YZw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_hwn_eXPSEd-NtftfyF3YZw" name="canRedo" visibility="public">
+ <ownedComment xmi:id="_hwn_enPSEd-NtftfyF3YZw">
+ <body>
+ * I can redo if I am not empty and all my children can all be redone.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_hwn_e3PSEd-NtftfyF3YZw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_hwn_fHPSEd-NtftfyF3YZw" name="canUndo" visibility="public">
+ <ownedComment xmi:id="_hwn_fXPSEd-NtftfyF3YZw">
+ <body>
+ * I can undo if I am not empty and all my children can all be undone.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_hwxJYHPSEd-NtftfyF3YZw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_hwxJYXPSEd-NtftfyF3YZw" name="internalSetResult" visibility="public">
+ <ownedComment xmi:id="_hwxJYnPSEd-NtftfyF3YZw">
+ <body>
+ * Internal method to set the command result.
+ *
+ * @param result CommandResult to set
+ * @deprecated internal API
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_hw66YHPSEd-NtftfyF3YZw" name="result" type="_HLIlAnPGEd-bh5e9e7eOjw"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Realization" xmi:id="_hwLThHPSEd-NtftfyF3YZw" name="CompositeTransactionalCommand extends ICompositeCommand" supplier="_HLbf8HPGEd-bh5e9e7eOjw" client="_hwLTgHPSEd-NtftfyF3YZw"/>
+ <packagedElement xmi:type="uml:Realization" xmi:id="_hwLThXPSEd-NtftfyF3YZw" name="CompositeTransactionalCommand extends ICommandWithSettableResult" supplier="_7-bbC3PQEd-NtftfyF3YZw" client="_hwLTgHPSEd-NtftfyF3YZw"/>
+ <packagedElement xmi:type="uml:Realization" xmi:id="_mNguMHh3Ed-ECKyh8Dg6Wg" name="AbstractTransactionalCommand extends ICommandWithSettableResult" supplier="_mNNzQXh3Ed-ECKyh8Dg6Wg" client="_huFo1HPSEd-NtftfyF3YZw"/>
+ <packagedElement xmi:type="uml:Realization" xmi:id="_mTeMQHh3Ed-ECKyh8Dg6Wg" name="CompositeTransactionalCommand extends ICommandWithSettableResult" supplier="_mNNzQXh3Ed-ECKyh8Dg6Wg" client="_hwLTgHPSEd-NtftfyF3YZw"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_mW56wHh3Ed-ECKyh8Dg6Wg" name="EditingDomainUndoContext" clientDependency="_mXDEsXh3Ed-ECKyh8Dg6Wg" isLeaf="true">
+ <ownedComment xmi:id="_mXDEsHh3Ed-ECKyh8Dg6Wg">
+ <body>
+ * An {@link IUndoContext} that tags an EMF operation with the editing domain
+ * that it affects. Two editing domain contexts match if and only if they
+ * reference the same {@link EditingDomain} instance.
+ *
+ * @author ldamus
+ </body>
+ </ownedComment>
+ <ownedAttribute xmi:id="_mXM1sHh3Ed-ECKyh8Dg6Wg" name="editingDomain" visibility="private" isLeaf="true" type="_0zW0MHctEd-96YWU42lBhw" isUnique="false"/>
+ <ownedAttribute xmi:id="_mXfwoHh3Ed-ECKyh8Dg6Wg" name="label" visibility="private" type="_QJNf73OxEd-nKvj-XTCBkg" isUnique="false"/>
+ <ownedOperation xmi:id="_mXphoHh3Ed-ECKyh8Dg6Wg" name="getLabel" visibility="public">
+ <ownedParameter xmi:id="_mXphoXh3Ed-ECKyh8Dg6Wg" type="_QJNf73OxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_mXyrkHh3Ed-ECKyh8Dg6Wg" name="matches" visibility="public">
+ <ownedComment xmi:id="_mXyrkXh3Ed-ECKyh8Dg6Wg">
+ <body>
+ * I match another &lt;code>context&lt;/code> if it is a
+ * &lt;code>EditingDomainUndoContext&lt;/code> representing the same editing
+ * domain as I.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_mX8ckHh3Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ <ownedParameter xmi:id="_mYGNkHh3Ed-ECKyh8Dg6Wg" name="context" type="_fXdLoXOxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_mYGNkXh3Ed-ECKyh8Dg6Wg" name="equals" visibility="public">
+ <ownedComment xmi:id="_mYGNknh3Ed-ECKyh8Dg6Wg">
+ <body>
+ * I am equal to other &lt;code>EditingDomainUndoContext&lt;/code> on the same
+ * editing domain as mine.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_mYPXgHh3Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ <ownedParameter xmi:id="_mYZIgHh3Ed-ECKyh8Dg6Wg" name="o" type="_msnXL3O4Ed-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_mYZIgXh3Ed-ECKyh8Dg6Wg" name="hashCode" visibility="public">
+ <ownedParameter xmi:id="_mYiScHh3Ed-ECKyh8Dg6Wg" type="_QJqLxnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_mYiScXh3Ed-ECKyh8Dg6Wg" name="getEditingDomain" visibility="public" isLeaf="true">
+ <ownedComment xmi:id="_mYiScnh3Ed-ECKyh8Dg6Wg">
+ <body>
+ * Obtains the editing domain.
+ *
+ * @return my editing domain
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_mYsDcHh3Ed-ECKyh8Dg6Wg" type="_0zW0MHctEd-96YWU42lBhw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_mY10cHh3Ed-ECKyh8Dg6Wg" name="toString" visibility="public">
+ <ownedComment xmi:id="_mY10cXh3Ed-ECKyh8Dg6Wg">
+ <body>
+ * The string representation of this operation. Used for debugging purposes only.
+ * This string should not be shown to an end user.
+ *
+ * @return The string representation.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_mY--YHh3Ed-ECKyh8Dg6Wg" type="_QJNf73OxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Realization" xmi:id="_mXDEsXh3Ed-ECKyh8Dg6Wg" name="EditingDomainUndoContext extends IUndoContext" supplier="_fXdLoXOxEd-nKvj-XTCBkg" client="_mW56wHh3Ed-ECKyh8Dg6Wg"/>
+ </packagedElement>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_pAPpoHh5Ed-ECKyh8Dg6Wg" name="ui">
+ <packagedElement xmi:type="uml:Package" xmi:id="_pAPpoXh5Ed-ECKyh8Dg6Wg" name="dialogs">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pAYzkHh5Ed-ECKyh8Dg6Wg" name="AbstractSelectElementDialog"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_qKTB8Hh5Ed-ECKyh8Dg6Wg" name="type">
+ <packagedElement xmi:type="uml:Package" xmi:id="_qKTB8Xh5Ed-ECKyh8Dg6Wg" name="core">
+ <packagedElement xmi:type="uml:Interface" xmi:id="_qKcy8Hh5Ed-ECKyh8Dg6Wg" name="IElementType"/>
+ <packagedElement xmi:type="uml:Package" xmi:id="_dLS_cHh6Ed-ECKyh8Dg6Wg" name="commands">
+ <packagedElement xmi:type="uml:Class" xmi:id="_dLcJYHh6Ed-ECKyh8Dg6Wg" name="ConfigureElementCommand" isAbstract="true">
+ <ownedComment xmi:id="_dLcJYXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Edit command to configure a new model element with the characteristics of its
+ * element type.
+ *
+ * @author ldamus
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_dLvEUHh6Ed-ECKyh8Dg6Wg" general="_dLl6YHh6Ed-ECKyh8Dg6Wg"/>
+ <ownedAttribute xmi:id="_dL41UHh6Ed-ECKyh8Dg6Wg" name="elementType" visibility="private" isLeaf="true" type="_qKcy8Hh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_dMCmUHh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * The element type.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_dMVhQHh6Ed-ECKyh8Dg6Wg" name="getElementType" visibility="public">
+ <ownedComment xmi:id="_dMVhQXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the element type.
+ *
+ * @return the element type
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dMVhQnh6Ed-ECKyh8Dg6Wg" type="_qKcy8Hh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_dLl6YHh6Ed-ECKyh8Dg6Wg" name="EditElementCommand" isAbstract="true">
+ <ownedComment xmi:id="_diFu0Hh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Abstract superclass for commands that modify model elements.
+ *
+ * @author ldamus
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_diFu0Xh6Ed-ECKyh8Dg6Wg" general="_huFo1HPSEd-NtftfyF3YZw"/>
+ <ownedAttribute xmi:id="_diPf0Hh6Ed-ECKyh8Dg6Wg" name="elementToEdit" visibility="private" type="_huPZ2HPSEd-NtftfyF3YZw" isUnique="false">
+ <ownedComment xmi:id="_diiawHh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * The element to be modified.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_disLwXh6Ed-ECKyh8Dg6Wg" name="request" visibility="private" isLeaf="true" type="_disLwHh6Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_di1VsHh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * The edit request that carries the required command parameters.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_djI3sHh6Ed-ECKyh8Dg6Wg" name="eClass" visibility="private" type="_dSvrQHh6Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_djSBoHh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * The kind of model element that can be modified by this command.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_djbyoHh6Ed-ECKyh8Dg6Wg" name="getAffectedFiles" visibility="protected" isStatic="true">
+ <ownedParameter xmi:id="_djk8kHh6Ed-ECKyh8Dg6Wg" type="_QJNf43OxEd-nKvj-XTCBkg" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dj4ekHh6Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_djutkHh6Ed-ECKyh8Dg6Wg"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_dkBogHh6Ed-ECKyh8Dg6Wg" name="request" type="_disLwHh6Ed-ECKyh8Dg6Wg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dkBogXh6Ed-ECKyh8Dg6Wg" name="canExecute" visibility="public">
+ <ownedComment xmi:id="_dkBognh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Checks that the element to be modified by this command is of the correct
+ * kind.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dkLZgHh6Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dkVKgHh6Ed-ECKyh8Dg6Wg" name="getElementToEdit" visibility="protected">
+ <ownedComment xmi:id="_dkVKgXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the element to be modified by this command.
+ *
+ * @return the element to be modified
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dkeUcHh6Ed-ECKyh8Dg6Wg" type="_huPZ2HPSEd-NtftfyF3YZw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dkoFcHh6Ed-ECKyh8Dg6Wg" name="getEClassToEdit" visibility="protected">
+ <ownedParameter xmi:id="_dkoFcXh6Ed-ECKyh8Dg6Wg" type="_dSvrQHh6Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dkxPYHh6Ed-ECKyh8Dg6Wg" name="setElementToEdit" visibility="protected">
+ <ownedComment xmi:id="_dkxPYXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Sets the element to be modified by this command.
+ *
+ * @return the element to be modified
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dk7AYHh6Ed-ECKyh8Dg6Wg" name="element" type="_huPZ2HPSEd-NtftfyF3YZw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dlExYHh6Ed-ECKyh8Dg6Wg" name="getRequest" visibility="protected">
+ <ownedComment xmi:id="_dlExYXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the edit request.
+ *
+ * @return the edit request
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dlN7UHh6Ed-ECKyh8Dg6Wg" type="_disLwHh6Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dlXsUHh6Ed-ECKyh8Dg6Wg" name="getEClass" visibility="protected">
+ <ownedComment xmi:id="_dlXsUXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the kind of element that can be modified by this command.
+ *
+ * @return the kind of element
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dlhdUHh6Ed-ECKyh8Dg6Wg" type="_dSvrQHh6Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dlqnQHh6Ed-ECKyh8Dg6Wg" name="setEClass" visibility="protected">
+ <ownedComment xmi:id="_dlqnQXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Sets the kind of element that can be modified by this command.
+ *
+ * @param eClass
+ * the kind of element
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dlqnQnh6Ed-ECKyh8Dg6Wg" name="eClass" type="_dSvrQHh6Ed-ECKyh8Dg6Wg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dl0YQHh6Ed-ECKyh8Dg6Wg" name="isOK" visibility="protected">
+ <ownedComment xmi:id="_dl0YQXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Convenience method to check the status of &lt;code>commandRequest&lt;/code>.
+ *
+ * @param commandResult
+ * the command result to check
+ * @return &lt;code>true&lt;/code> if the result is OK, &lt;code>false&lt;/code>
+ * otherwise.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dl9iMHh6Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ <ownedParameter xmi:id="_dmHTMHh6Ed-ECKyh8Dg6Wg" name="commandResult" type="_HLIlAnPGEd-bh5e9e7eOjw"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_dNFIIHh6Ed-ECKyh8Dg6Wg" name="ConfigureRelationshipCommand" isAbstract="true">
+ <ownedComment xmi:id="_dNO5IHh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Edit command to configure a new relationship element with the characteristics
+ * of its element type.
+ *
+ * @author ldamus
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_dNO5IXh6Ed-ECKyh8Dg6Wg" general="_dLcJYHh6Ed-ECKyh8Dg6Wg"/>
+ <ownedOperation xmi:id="_dNYDEHh6Ed-ECKyh8Dg6Wg" name="canExecute" visibility="public">
+ <ownedParameter xmi:id="_dNh0EHh6Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_dPKy0Hh6Ed-ECKyh8Dg6Wg" name="CreateElementCommand">
+ <ownedComment xmi:id="_dPT8wHh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Command to create a new model element.
+ *
+ * @author ldamus
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_dPT8wXh6Ed-ECKyh8Dg6Wg" general="_dLl6YHh6Ed-ECKyh8Dg6Wg"/>
+ <ownedAttribute xmi:id="_dPdtwHh6Ed-ECKyh8Dg6Wg" name="newElement" visibility="private" type="_huPZ2HPSEd-NtftfyF3YZw" isUnique="false">
+ <ownedComment xmi:id="_dPnewHh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * The newly created element.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_dPwosHh6Ed-ECKyh8Dg6Wg" name="elementType" visibility="private" isLeaf="true" type="_qKcy8Hh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_dP6ZsHh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * The element type to be created.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_dQNUoXh6Ed-ECKyh8Dg6Wg" name="containmentFeature" visibility="private" type="_dQNUoHh6Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_dQXFoHh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * The containment feature in which the new element will be created.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_dQgPkHh6Ed-ECKyh8Dg6Wg" name="defaultElementCreationStatus" visibility="private" type="_fXmVnnOxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_dQqAkHh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Status of the default element creation.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_dQzxkHh6Ed-ECKyh8Dg6Wg" name="doExecuteWithResult" visibility="protected">
+ <ownedParameter xmi:id="_dQzxkXh6Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_dQ87gHh6Ed-ECKyh8Dg6Wg" name="monitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_dRGsgHh6Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dRQdgHh6Ed-ECKyh8Dg6Wg" name="createConfigureRequest" visibility="protected">
+ <ownedComment xmi:id="_dRQdgXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Creates the request to configure the new element.
+ *
+ * @return the request
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dRjYcHh6Ed-ECKyh8Dg6Wg" type="_dRZncXh6Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dRjYcXh6Ed-ECKyh8Dg6Wg" name="doDefaultElementCreation" visibility="protected">
+ <ownedComment xmi:id="_dRjYcnh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Subclasses should implement this to override the basic element creation.
+ *
+ * @return the new model element that has been created
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dRsiYHh6Ed-ECKyh8Dg6Wg" type="_huPZ2HPSEd-NtftfyF3YZw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dR2TYHh6Ed-ECKyh8Dg6Wg" name="getDefaultElementCreationStatus" visibility="protected">
+ <ownedComment xmi:id="_dR2TYXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the status of the default element creation.
+ *
+ * @return the status
+ * @since 1.2
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dSAEYHh6Ed-ECKyh8Dg6Wg" type="_fXmVnnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dSJOUHh6Ed-ECKyh8Dg6Wg" name="setDefaultElementCreationStatus" visibility="protected">
+ <ownedComment xmi:id="_dSJOUXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Sets the status of the default element creation.
+ *
+ * @param status
+ * the new status
+ * @since 1.2
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dSS_UHh6Ed-ECKyh8Dg6Wg" name="status" type="_fXmVnnOxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dScwUHh6Ed-ECKyh8Dg6Wg" name="getElementToEdit" visibility="protected">
+ <ownedComment xmi:id="_dScwUXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Initializes the container of the new element by asking the create to
+ * create the container, if necessary.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dScwUnh6Ed-ECKyh8Dg6Wg" type="_huPZ2HPSEd-NtftfyF3YZw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dSl6QHh6Ed-ECKyh8Dg6Wg" name="getEClassToEdit" visibility="protected">
+ <ownedComment xmi:id="_dSl6QXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the EClass of the element to be edited.
+ *
+ * @return the EClass
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dS41MHh6Ed-ECKyh8Dg6Wg" type="_dSvrQHh6Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dTCmMHh6Ed-ECKyh8Dg6Wg" name="getContainmentFeature" visibility="protected">
+ <ownedComment xmi:id="_dTCmMXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the containment feature for the new element.
+ *
+ * @return the containment feature
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dTCmMnh6Ed-ECKyh8Dg6Wg" type="_dQNUoHh6Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dTMXMHh6Ed-ECKyh8Dg6Wg" name="setContainmentFeature" visibility="protected">
+ <ownedComment xmi:id="_dTMXMXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Sets the containment feature for the new element.
+ *
+ * @param containmentFeature
+ * the containment feature for the new element
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dTVhIHh6Ed-ECKyh8Dg6Wg" name="containmentFeature" type="_dQNUoHh6Ed-ECKyh8Dg6Wg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dTfSIHh6Ed-ECKyh8Dg6Wg" name="getElementType" visibility="protected">
+ <ownedComment xmi:id="_dTfSIXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the element type for the new element.
+ *
+ * @return the element type
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dTpDIHh6Ed-ECKyh8Dg6Wg" type="_qKcy8Hh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dTpDIXh6Ed-ECKyh8Dg6Wg" name="getCreateRequest" visibility="public">
+ <ownedComment xmi:id="_dTpDInh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the create request.
+ *
+ * @return the create request
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dT7-EXh6Ed-ECKyh8Dg6Wg" type="_dT7-EHh6Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dUO5AHh6Ed-ECKyh8Dg6Wg" name="canExecute" visibility="public">
+ <ownedParameter xmi:id="_dUO5AXh6Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dUYqAHh6Ed-ECKyh8Dg6Wg" name="getNewElement" visibility="public">
+ <ownedComment xmi:id="_dUYqAXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the new element that was created by this command. Will be
+ * &lt;code>null&lt;/code> if the command has not been executed.
+ *
+ * @return the new element
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dUhz8Hh6Ed-ECKyh8Dg6Wg" type="_huPZ2HPSEd-NtftfyF3YZw" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_dVk80Hh6Ed-ECKyh8Dg6Wg" name="CreateRelationshipCommand">
+ <ownedComment xmi:id="_dVk80Xh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Command to create a new relationship element using the EMF action protocol.
+ * &lt;P>
+ * If the containment feature is not specified in the request, the first feature
+ * in the container that can contain the new kind of relationship will be used.
+ *
+ * @author ldamus
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_dVk80nh6Ed-ECKyh8Dg6Wg" general="_dPKy0Hh6Ed-ECKyh8Dg6Wg"/>
+ <ownedAttribute xmi:id="_dV33wHh6Ed-ECKyh8Dg6Wg" name="source" visibility="private" isLeaf="true" type="_huPZ2HPSEd-NtftfyF3YZw" isUnique="false">
+ <ownedComment xmi:id="_dWBowHh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * The relationship source.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_dWKysHh6Ed-ECKyh8Dg6Wg" name="target" visibility="private" isLeaf="true" type="_huPZ2HPSEd-NtftfyF3YZw" isUnique="false">
+ <ownedComment xmi:id="_dWUjsHh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * The relationship target.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_dWneoHh6Ed-ECKyh8Dg6Wg" name="getSource" visibility="public">
+ <ownedComment xmi:id="_dWneoXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the relationship source.
+ *
+ * @return the relationship source
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dWneonh6Ed-ECKyh8Dg6Wg" type="_huPZ2HPSEd-NtftfyF3YZw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dW6ZkHh6Ed-ECKyh8Dg6Wg" name="getTarget" visibility="public">
+ <ownedComment xmi:id="_dW6ZkXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the relationship target.
+ *
+ * @return the relationship target
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dW6Zknh6Ed-ECKyh8Dg6Wg" type="_huPZ2HPSEd-NtftfyF3YZw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dXEKkHh6Ed-ECKyh8Dg6Wg" name="createConfigureRequest" visibility="protected">
+ <ownedParameter xmi:id="_dXN7kHh6Ed-ECKyh8Dg6Wg" type="_dRZncXh6Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dXN7kXh6Ed-ECKyh8Dg6Wg" name="canExecute" visibility="public">
+ <ownedParameter xmi:id="_dXXFgHh6Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_dX9icHh6Ed-ECKyh8Dg6Wg" name="DeferredSetValueCommand">
+ <ownedComment xmi:id="_dX9icXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Command to set the value of a feature of a model element. The model element
+ * is not known at the time of command construction. Subclasses can override
+ * {@link #getElementToEdit()} to compute or find the elementToEdit.
+ *
+ * @author ldamus
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_dYGsYXh6Ed-ECKyh8Dg6Wg" general="_dYGsYHh6Ed-ECKyh8Dg6Wg"/>
+ <ownedOperation xmi:id="_dYQdYHh6Ed-ECKyh8Dg6Wg" name="canExecute" visibility="public">
+ <ownedComment xmi:id="_dYQdYXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Always executable when we can't get the elementToEdit.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dYaOYHh6Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_dYGsYHh6Ed-ECKyh8Dg6Wg" name="SetValueCommand">
+ <ownedComment xmi:id="_duKb8Hh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Command to set the value of a feature of a model element.
+ *
+ * @author ldamus, mmostafa
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_duKb8Xh6Ed-ECKyh8Dg6Wg" general="_dLl6YHh6Ed-ECKyh8Dg6Wg"/>
+ <ownedAttribute xmi:id="_duTl4Hh6Ed-ECKyh8Dg6Wg" name="feature" visibility="private" isLeaf="true" type="_zsR3YHctEd-96YWU42lBhw" isUnique="false">
+ <ownedComment xmi:id="_dudW4Hh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * The feature whose value should be set.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_duwR0Hh6Ed-ECKyh8Dg6Wg" name="value" visibility="private" isLeaf="true" type="_msnXL3O4Ed-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_du6C0Hh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * The new value.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_dvDz0Hh6Ed-ECKyh8Dg6Wg" name="doExecuteWithResult" visibility="protected">
+ <ownedParameter xmi:id="_dvM9wHh6Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_dvWuwHh6Ed-ECKyh8Dg6Wg" name="monitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_dvf4sHh6Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dvf4sXh6Ed-ECKyh8Dg6Wg" name="canExecute" visibility="public">
+ <ownedComment xmi:id="_dvf4snh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Checks that the feature is a modifiable feature of the element whose
+ * value will be set by this command. Also checks that the new value is of
+ * the correct type for the feature.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dvppsHh6Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dvzasHh6Ed-ECKyh8Dg6Wg" name="verifyMany" visibility="private">
+ <ownedParameter xmi:id="_dv8koHh6Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_dapDAHh6Ed-ECKyh8Dg6Wg" name="DestroyElementCommand">
+ <ownedComment xmi:id="_day0AHh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Command to create a model element using the EMF action protocol.
+ *
+ * @author ldamus
+ * @author Christian W. Damus (cdamus)
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_day0AXh6Ed-ECKyh8Dg6Wg" general="_dLl6YHh6Ed-ECKyh8Dg6Wg"/>
+ <ownedAttribute xmi:id="_da798Hh6Ed-ECKyh8Dg6Wg" name="elementToDestroy" visibility="private" isLeaf="true" type="_huPZ2HPSEd-NtftfyF3YZw" isUnique="false">
+ <ownedComment xmi:id="_dbFu8Hh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * The element to be destroyed.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_dbYp4Hh6Ed-ECKyh8Dg6Wg" name="destroy" visibility="public" isStatic="true">
+ <ownedComment xmi:id="_dbYp4Xh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Convenience method for destroying the specified object by executing a
+ * &lt;code>DestroyElementCommand&lt;/code> on it, if it is attached to a
+ * resource. Detached elements cannot be destroyed.
+ * &lt;p>
+ * &lt;b>Note&lt;/b> that the command will not be executed on the operation
+ * history.
+ * &lt;/b>
+ *
+ * @param eObject an element to destroy
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dbia4Hh6Ed-ECKyh8Dg6Wg" name="eObject" type="_huPZ2HPSEd-NtftfyF3YZw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dbrk0Hh6Ed-ECKyh8Dg6Wg" name="doExecuteWithResult" visibility="protected">
+ <ownedParameter xmi:id="_db1V0Hh6Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_db1V0Xh6Ed-ECKyh8Dg6Wg" name="monitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_db_G0Hh6Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dcIQwHh6Ed-ECKyh8Dg6Wg" name="tearDownIncomingReferences" visibility="protected">
+ <ownedComment xmi:id="_dcIQwXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Tears down references to the object that we are destroying, from all other
+ * objects in the resource set.
+ *
+ * @param destructee the object being destroyed
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dcSBwHh6Ed-ECKyh8Dg6Wg" name="destructee" type="_huPZ2HPSEd-NtftfyF3YZw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dcbLsHh6Ed-ECKyh8Dg6Wg" name="tearDownOutgoingReferences" visibility="protected">
+ <ownedComment xmi:id="_dcbLsXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Tears down outgoing unidirectional references from the object being
+ * destroyed to all other elements in the resource set. This is required
+ * so that reverse-reference queries will not find the destroyed object.
+ *
+ * @param destructee the object being destroyed
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dck8sHh6Ed-ECKyh8Dg6Wg" name="destructee" type="_huPZ2HPSEd-NtftfyF3YZw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dcutsHh6Ed-ECKyh8Dg6Wg" name="getElementToDestroy" visibility="protected">
+ <ownedComment xmi:id="_dcutsXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the element to be destroyed.
+ * @return the element to be destroyed
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dc33oHh6Ed-ECKyh8Dg6Wg" type="_huPZ2HPSEd-NtftfyF3YZw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dc33oXh6Ed-ECKyh8Dg6Wg" name="canExecute" visibility="public">
+ <ownedParameter xmi:id="_ddBooHh6Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_deN7cHh6Ed-ECKyh8Dg6Wg" name="DestroyReferenceCommand">
+ <ownedComment xmi:id="_deN7cXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Command to destroy a reference from one element to another.
+ *
+ * @author ldamus
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_deXscHh6Ed-ECKyh8Dg6Wg" general="_dLl6YHh6Ed-ECKyh8Dg6Wg"/>
+ <ownedAttribute xmi:id="_deg2YHh6Ed-ECKyh8Dg6Wg" name="container" visibility="private" type="_huPZ2HPSEd-NtftfyF3YZw" isUnique="false">
+ <ownedComment xmi:id="_deqnYHh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * The element that contains the reference.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_dezxUHh6Ed-ECKyh8Dg6Wg" name="containingFeature" visibility="private" type="_dQNUoHh6Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_de9iUHh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * The feature in the &lt;code>container&lt;/code> that contains the reference.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_dfHTUHh6Ed-ECKyh8Dg6Wg" name="referencedObject" visibility="private" type="_huPZ2HPSEd-NtftfyF3YZw" isUnique="false">
+ <ownedComment xmi:id="_dfaOQHh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * The referenced object.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_dfj_QHh6Ed-ECKyh8Dg6Wg" name="doExecuteWithResult" visibility="protected">
+ <ownedParameter xmi:id="_dfj_QXh6Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_dftJMHh6Ed-ECKyh8Dg6Wg" name="monitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_df26MHh6Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dgAEIHh6Ed-ECKyh8Dg6Wg" name="getContainer" visibility="protected">
+ <ownedComment xmi:id="_dgAEIXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets element that contains the reference.
+ *
+ * @return the element that contains the reference
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dgAEInh6Ed-ECKyh8Dg6Wg" type="_huPZ2HPSEd-NtftfyF3YZw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dgJ1IHh6Ed-ECKyh8Dg6Wg" name="getContainingFeature" visibility="protected">
+ <ownedComment xmi:id="_dgJ1IXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the feature in the &lt;code>container&lt;/code> that contains the
+ * reference.
+ *
+ * @return the feature in the &lt;code>container&lt;/code> that contains the
+ * reference.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dgcwEHh6Ed-ECKyh8Dg6Wg" type="_dQNUoHh6Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dgcwEXh6Ed-ECKyh8Dg6Wg" name="getReferencedObject" visibility="protected">
+ <ownedComment xmi:id="_dgcwEnh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the referenced object.
+ *
+ * @return the referenced object.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dgmhEHh6Ed-ECKyh8Dg6Wg" type="_huPZ2HPSEd-NtftfyF3YZw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dgwSEHh6Ed-ECKyh8Dg6Wg" name="canExecute" visibility="public">
+ <ownedParameter xmi:id="_dgwSEXh6Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_dm26EHh6Ed-ECKyh8Dg6Wg" name="GetEditContextCommand">
+ <ownedComment xmi:id="_dnArEHh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Command to get the edit context for a given request.
+ *
+ * @author ldamus
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_dnArEXh6Ed-ECKyh8Dg6Wg" general="_dLl6YHh6Ed-ECKyh8Dg6Wg"/>
+ <ownedAttribute xmi:id="_dnTmAHh6Ed-ECKyh8Dg6Wg" name="editContext" visibility="private" type="_msnXL3O4Ed-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_dndXAHh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * The edit context.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_dnmg8Hh6Ed-ECKyh8Dg6Wg" name="doExecuteWithResult" visibility="protected">
+ <ownedParameter xmi:id="_dnmg8Xh6Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_dn6C8Hh6Ed-ECKyh8Dg6Wg" name="monitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_dn6C8Xh6Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_doM94Hh6Ed-ECKyh8Dg6Wg" name="getEditContext" visibility="public">
+ <ownedComment xmi:id="_doM94Xh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the edit context.
+ *
+ * @return the edit context
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_doM94nh6Ed-ECKyh8Dg6Wg" type="_msnXL3O4Ed-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_doWH0Hh6Ed-ECKyh8Dg6Wg" name="setEditContext" visibility="public">
+ <ownedComment xmi:id="_doWH0Xh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Sets the edit context.
+ *
+ * @param editContext
+ * the edit context
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dof40Hh6Ed-ECKyh8Dg6Wg" name="editContext" type="_msnXL3O4Ed-nKvj-XTCBkg"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_dqI3kHh6Ed-ECKyh8Dg6Wg" name="MoveElementsCommand">
+ <ownedComment xmi:id="_dqI3kXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Command to move model elements using the EMF action protocol.
+ * &lt;P>
+ * If the target features are not specified in the request, and the features
+ * fomerly containing the moved elements exists in the target element, they will
+ * be used.
+ *
+ * @author ldamus
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_dqSokHh6Ed-ECKyh8Dg6Wg" general="_dLl6YHh6Ed-ECKyh8Dg6Wg"/>
+ <ownedAttribute xmi:id="_dqSokXh6Ed-ECKyh8Dg6Wg" name="elementsToMove" visibility="private" isLeaf="true" type="_5gGFc3PSEd-NtftfyF3YZw" isUnique="false">
+ <ownedComment xmi:id="_dqljgHh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * The map of &lt;code>EObject&lt;/code>s to be moved. Keyed on
+ * &lt;code>EObject&lt;/code>. Each value is the &lt;code>EReference&lt;/code>
+ * feature in the target element into which the element should be moved.
+ * &lt;P>
+ * If the feature is not specified for a given element, then a default
+ * feature is found in the target.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_dqutcHh6Ed-ECKyh8Dg6Wg" name="targetContainer" visibility="private" isLeaf="true" type="_huPZ2HPSEd-NtftfyF3YZw" isUnique="false">
+ <ownedComment xmi:id="_dq4ecHh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * The target container into which the element will be moved.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_drLZYHh6Ed-ECKyh8Dg6Wg" name="doExecuteWithResult" visibility="protected">
+ <ownedParameter xmi:id="_drLZYXh6Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_drVKYHh6Ed-ECKyh8Dg6Wg" name="monitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_dre7YHh6Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_droFUHh6Ed-ECKyh8Dg6Wg" name="getTargetFeature" visibility="protected">
+ <ownedComment xmi:id="_droFUXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the feature in the target element that should contain
+ * &lt;code>element&lt;/code> after it is moved.
+ * &lt;P>
+ * Looks for the feature first in the elements map. If none is specified,
+ * tries to use the same feature that contained the element in its old
+ * location. If the old containment feature doesn't exist in the new target,
+ * uses the MSL utility to find the first feature in the target that can
+ * contain the element being moved.
+ *
+ * @param element
+ * the element to be moved
+ * @return the feature that will contain the element in the target
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_drx2UHh6Ed-ECKyh8Dg6Wg" type="_dQNUoHh6Ed-ECKyh8Dg6Wg" direction="return"/>
+ <ownedParameter xmi:id="_dr7AQHh6Ed-ECKyh8Dg6Wg" name="element" type="_huPZ2HPSEd-NtftfyF3YZw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dr7AQXh6Ed-ECKyh8Dg6Wg" name="getTargetContainer" visibility="protected">
+ <ownedComment xmi:id="_dr7AQnh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the target container.
+ *
+ * @return the target container
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dsExQHh6Ed-ECKyh8Dg6Wg" type="_huPZ2HPSEd-NtftfyF3YZw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dsOiQHh6Ed-ECKyh8Dg6Wg" name="getElementsToMove" visibility="protected">
+ <ownedComment xmi:id="_dsOiQXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the map of elements to be moved. Each entry in the map consists of
+ * an &lt;code>EObject&lt;/code> key, which is the element to be moved to the
+ * new target, and an &lt;code>EReference&lt;/code> value, which is the feature
+ * in the new target that should contain the moved element.
+ *
+ * @return the map of elements to be moved
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dsXsMHh6Ed-ECKyh8Dg6Wg" type="_5gGFc3PSEd-NtftfyF3YZw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dshdMHh6Ed-ECKyh8Dg6Wg" name="setTargetFeature" visibility="protected">
+ <ownedComment xmi:id="_dshdMXh6Ed-ECKyh8Dg6Wg">
+ <body>
+ * Sets the reference feature into which an element should be moved.
+ *
+ * @param element
+ * the element to be moved
+ * @param targetFeature
+ * the target feature
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dsrOMHh6Ed-ECKyh8Dg6Wg" name="element" type="_huPZ2HPSEd-NtftfyF3YZw"/>
+ <ownedParameter xmi:id="_ds0YIHh6Ed-ECKyh8Dg6Wg" name="targetFeature" type="_dQNUoHh6Ed-ECKyh8Dg6Wg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_ds-JIHh6Ed-ECKyh8Dg6Wg" name="canExecute" visibility="public">
+ <ownedParameter xmi:id="_ds-JIXh6Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_dRZncHh6Ed-ECKyh8Dg6Wg" name="requests">
+ <packagedElement xmi:type="uml:Class" xmi:id="_dRZncXh6Ed-ECKyh8Dg6Wg" name="ConfigureRequest"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_dT7-EHh6Ed-ECKyh8Dg6Wg" name="CreateElementRequest"/>
+ <packagedElement xmi:type="uml:Interface" xmi:id="_disLwHh6Ed-ECKyh8Dg6Wg" name="IEditCommandRequest"/>
+ </packagedElement>
+ </packagedElement>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_dZeNkHc2Ed-96YWU42lBhw" name="diagram">
+ <packagedElement xmi:type="uml:Package" xmi:id="_dZn-kHc2Ed-96YWU42lBhw" name="ui">
+ <packagedElement xmi:type="uml:Package" xmi:id="_dZn-kXc2Ed-96YWU42lBhw" name="parts">
+ <packagedElement xmi:type="uml:Class" xmi:id="_dZn-knc2Ed-96YWU42lBhw" name="DiagramCommandStack">
+ <ownedComment xmi:id="_dZxvkHc2Ed-96YWU42lBhw">
+ <body>
+ * GEF command stack that delegates to an {@link IOperationHistory}.
+ *
+ * @author sshaw
+ * @author Tauseef A, Israr
+ * @author ldamus
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_daEqgXc2Ed-96YWU42lBhw" general="_daEqgHc2Ed-96YWU42lBhw"/>
+ <ownedAttribute xmi:id="_daEqgnc2Ed-96YWU42lBhw" name="stackToManager" visibility="private" type="_5gGFc3PSEd-NtftfyF3YZw" isUnique="false"/>
+ <ownedAttribute xmi:id="_daXlcXc2Ed-96YWU42lBhw" name="editDomain" visibility="private" type="_daXlcHc2Ed-96YWU42lBhw" isUnique="false"/>
+ <ownedAttribute xmi:id="_daqgYHc2Ed-96YWU42lBhw" name="cmdRecent" visibility="private" type="_dahWcHc2Ed-96YWU42lBhw" isUnique="false"/>
+ <ownedAttribute xmi:id="_da0RYHc2Ed-96YWU42lBhw" name="delegate" visibility="private" type="_VGoR0HcvEd-96YWU42lBhw" isUnique="false" association="_QN6toXe3Ed-j1aWhDOGgOg"/>
+ <ownedAttribute xmi:id="_da-CYHc2Ed-96YWU42lBhw" name="undoContext" visibility="private" type="_fXdLoXOxEd-nKvj-XTCBkg" isUnique="false"/>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_dbHMUHc2Ed-96YWU42lBhw" name="HistoryEventObject" visibility="private" isLeaf="true">
+ <generalization xmi:id="_dbQ9UHc2Ed-96YWU42lBhw" general="_vsyDUncqEd-96YWU42lBhw"/>
+ <ownedAttribute xmi:id="_dbQ9UXc2Ed-96YWU42lBhw" name="event" visibility="private" isLeaf="true" type="_Omw18XcwEd-96YWU42lBhw" isUnique="false"/>
+ <ownedOperation xmi:id="_dbj4QHc2Ed-96YWU42lBhw" name="getOperationHistoryEvent" visibility="public">
+ <ownedComment xmi:id="_dbj4QXc2Ed-96YWU42lBhw">
+ <body>
+ * Gets my operation history event.
+ *
+ * @return my operation history event.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dbj4Qnc2Ed-96YWU42lBhw" type="_Omw18XcwEd-96YWU42lBhw" direction="return"/>
+ </ownedOperation>
+ </nestedClassifier>
+ <ownedOperation xmi:id="_db2zMHc2Ed-96YWU42lBhw" name="addCommandStackListener" visibility="public">
+ <ownedComment xmi:id="_db2zMXc2Ed-96YWU42lBhw">
+ <body>
+ * Adds a listener to this CommandStack.
+ *
+ * @param listener
+ * The Object listening to this CommandStack.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_db2zMnc2Ed-96YWU42lBhw" name="listener" type="_weCDoHc2Ed-96YWU42lBhw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dcAkMHc2Ed-96YWU42lBhw" name="canRedo" visibility="public">
+ <ownedComment xmi:id="_dcAkMXc2Ed-96YWU42lBhw">
+ <body>
+ * Returns &lt;code>true&lt;/code> if there is a Command to redo.
+ *
+ * @return &lt;code>true&lt;/code> if there is a Command to redo.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dcAkMnc2Ed-96YWU42lBhw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dcKVMHc2Ed-96YWU42lBhw" name="canUndo" visibility="public">
+ <ownedComment xmi:id="_dcKVMXc2Ed-96YWU42lBhw">
+ <body>
+ * Returns &lt;code>true&lt;/code> if the last Command executed can be undone.
+ *
+ * @return &lt;code>true&lt;/code> if the last Command executed can be undone.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dcTfIHc2Ed-96YWU42lBhw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dcTfIXc2Ed-96YWU42lBhw" name="execute" visibility="public">
+ <ownedComment xmi:id="_dcTfInc2Ed-96YWU42lBhw">
+ <body>
+ * Executes the given Command if it can execute.
+ *
+ * @param command
+ * The Command to execute.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dcdQIHc2Ed-96YWU42lBhw" name="command" type="_dahWcHc2Ed-96YWU42lBhw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dc58EHc2Ed-96YWU42lBhw" name="execute" visibility="public">
+ <ownedComment xmi:id="_dc58EXc2Ed-96YWU42lBhw">
+ <body>
+ * Executes the given Command if it can execute.
+ *
+ * @param command
+ * The Command to execute.
+ * @param progressMonitor
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_ddWoAHc2Ed-96YWU42lBhw" name="command" type="_dahWcHc2Ed-96YWU42lBhw"/>
+ <ownedParameter xmi:id="_ddWoAXc2Ed-96YWU42lBhw" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_ddfx8Hc2Ed-96YWU42lBhw" name="execute" visibility="protected">
+ <ownedComment xmi:id="_ddfx8Xc2Ed-96YWU42lBhw">
+ <body>
+ * exectus a the supplied command
+ *
+ * @param command
+ * the command to execute
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_ddpi8Hc2Ed-96YWU42lBhw" name="command" type="_HK-0B3PGEd-bh5e9e7eOjw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_deGO4Hc2Ed-96YWU42lBhw" name="execute" visibility="protected">
+ <ownedComment xmi:id="_deGO4Xc2Ed-96YWU42lBhw">
+ <body>
+ * executes the supplied command
+ *
+ * @param command
+ * the command to exectue
+ * @param progressMonitor
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_deGO4nc2Ed-96YWU42lBhw" name="command" type="_HK-0B3PGEd-bh5e9e7eOjw"/>
+ <ownedParameter xmi:id="_dePY0Hc2Ed-96YWU42lBhw" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dePY0Xc2Ed-96YWU42lBhw" name="getICommand" visibility="public" isStatic="true">
+ <ownedComment xmi:id="_dePY0nc2Ed-96YWU42lBhw">
+ <body>
+ * Converts a GEF {@link Command} into a GMF {@link ICommand}
+ *
+ * @param command
+ * the GEF command
+ * @return the GMF command
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_deZJ0Hc2Ed-96YWU42lBhw" type="_HK-0B3PGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_dei60Hc2Ed-96YWU42lBhw" name="command" type="_dahWcHc2Ed-96YWU42lBhw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dei60Xc2Ed-96YWU42lBhw" name="getICommand" visibility="public" isStatic="true">
+ <ownedComment xmi:id="_dei60nc2Ed-96YWU42lBhw">
+ <body>
+ * Removes redundancies from &lt;code>command&lt;/code> by stripping out layers
+ * of command wrappers used to accomodate the use of GEF commands on an
+ * {@link IOperationHistory} and {@link ICommand}s on the GEF
+ * {@link CommandStack}.
+ *
+ * @param command
+ * the command to be processed
+ * @return a command representing the simplified form of the input command.
+ * May be a new command.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_desEwHc2Ed-96YWU42lBhw" type="_HK-0B3PGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_de11wHc2Ed-96YWU42lBhw" name="command" type="_HK-0B3PGEd-bh5e9e7eOjw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_de_mwHc2Ed-96YWU42lBhw" name="getMostRecentCommand" visibility="public">
+ <ownedComment xmi:id="_de_mwXc2Ed-96YWU42lBhw">
+ <body>
+ * Returns the most recently executed command.
+ *
+ * @return The most recently executed command.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_de_mwnc2Ed-96YWU42lBhw" type="_dahWcHc2Ed-96YWU42lBhw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dfIwsHc2Ed-96YWU42lBhw" name="getRedoCommand" visibility="public">
+ <ownedComment xmi:id="_dfIwsXc2Ed-96YWU42lBhw">
+ <body>
+ * getRedoCommand Returns the command at the top of the redo stack.
+ *
+ * @see org.eclipse.gef.commands.CommandStack#getRedoCommand()
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dfShsHc2Ed-96YWU42lBhw" type="_dahWcHc2Ed-96YWU42lBhw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dfShsXc2Ed-96YWU42lBhw" name="getUndoCommand" visibility="public">
+ <ownedComment xmi:id="_dfShsnc2Ed-96YWU42lBhw">
+ <body>
+ * getUndoCommand() Returns the next command to be undone.
+ *
+ * @see org.eclipse.gef.commands.CommandStack#getUndoCommand()
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dfbroHc2Ed-96YWU42lBhw" type="_dahWcHc2Ed-96YWU42lBhw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dfbroXc2Ed-96YWU42lBhw" name="redo" visibility="public">
+ <ownedComment xmi:id="_dfbronc2Ed-96YWU42lBhw">
+ <body>
+ * Executes the last undone Command.
+ </body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dflcoHc2Ed-96YWU42lBhw" name="removeCommandStackListener" visibility="public">
+ <ownedComment xmi:id="_dflcoXc2Ed-96YWU42lBhw">
+ <body>
+ * Removes the given CommandStackListener.
+ *
+ * @param listener
+ * The object to be removed from the list of listeners.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dfvNoHc2Ed-96YWU42lBhw" name="listener" type="_weCDoHc2Ed-96YWU42lBhw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dfvNoXc2Ed-96YWU42lBhw" name="undo" visibility="public">
+ <ownedComment xmi:id="_dfvNonc2Ed-96YWU42lBhw">
+ <body>
+ * Undoes the last executed Command.
+ </body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:id="_df4XkHc2Ed-96YWU42lBhw" name="getDiagramEditDomain" visibility="protected">
+ <ownedComment xmi:id="_df4XkXc2Ed-96YWU42lBhw">
+ <body>
+ * Returns the editDomain.
+ *
+ * @return IDiagramEditDomain
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_df4Xknc2Ed-96YWU42lBhw" type="_daXlcHc2Ed-96YWU42lBhw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dgCIkHc2Ed-96YWU42lBhw" name="getOperationHistory" visibility="protected">
+ <ownedComment xmi:id="_dgCIkXc2Ed-96YWU42lBhw">
+ <body>
+ * Gets my operation history delegate.
+ *
+ * @return my operation history delegate
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dgL5kHc2Ed-96YWU42lBhw" type="_VGoR0HcvEd-96YWU42lBhw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dgL5kXc2Ed-96YWU42lBhw" name="setOperationHistory" visibility="public">
+ <ownedComment xmi:id="_dgL5knc2Ed-96YWU42lBhw">
+ <body>
+ * Sets my operation history delegate.
+ *
+ * @param operationHistory
+ * my operation history delegate
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dgVDgHc2Ed-96YWU42lBhw" name="operationHistory" type="_VGoR0HcvEd-96YWU42lBhw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dge0gHc2Ed-96YWU42lBhw" name="getReturnValues" visibility="public" isStatic="true">
+ <ownedComment xmi:id="_dge0gXc2Ed-96YWU42lBhw">
+ <body>
+ * Gets the return values of the given executed command
+ *
+ * @param c
+ * The command
+ * @return A collection of values returned by the given command
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dgn-cHc2Ed-96YWU42lBhw" type="_vhKCKncqEd-96YWU42lBhw" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dgxvcHc2Ed-96YWU42lBhw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dgn-cXc2Ed-96YWU42lBhw"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_dg7gcHc2Ed-96YWU42lBhw" name="c" type="_dahWcHc2Ed-96YWU42lBhw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dhEqYHc2Ed-96YWU42lBhw" name="getReturnValues" visibility="public" isStatic="true">
+ <ownedComment xmi:id="_dhEqYXc2Ed-96YWU42lBhw">
+ <body>
+ * gets the return the values for the supplied command.
+ *
+ * @param cmd
+ * command to use
+ * @return a collection of return values
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dhObYHc2Ed-96YWU42lBhw" type="_vhKCKncqEd-96YWU42lBhw" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dhYMYHc2Ed-96YWU42lBhw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dhObYXc2Ed-96YWU42lBhw"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_dhYMYXc2Ed-96YWU42lBhw" name="cmd" type="_2fWrcHe7Ed-C3vabgS4Hag"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dhrHUHc2Ed-96YWU42lBhw" name="getReturnValues" visibility="public" isStatic="true">
+ <ownedComment xmi:id="_dhrHUXc2Ed-96YWU42lBhw">
+ <body>
+ * gets the return the values for the supplied command.
+ * @param cmd command to use
+ * @return a collection of return values
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_dh0RQHc2Ed-96YWU42lBhw" type="_vhKCKncqEd-96YWU42lBhw" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dh-CQHc2Ed-96YWU42lBhw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dh0RQXc2Ed-96YWU42lBhw"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_dh-CQXc2Ed-96YWU42lBhw" name="cmd" type="_dhhWUHc2Ed-96YWU42lBhw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_diHzQHc2Ed-96YWU42lBhw" name="getReturnValues" visibility="public" isStatic="true">
+ <ownedComment xmi:id="_diHzQXc2Ed-96YWU42lBhw">
+ <body>
+ * gets the return the values for the supplied command.
+ *
+ * @param cmd
+ * command to use
+ * @return a collection of return values
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_diQ9MHc2Ed-96YWU42lBhw" type="_vhKCKncqEd-96YWU42lBhw" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_diauMHc2Ed-96YWU42lBhw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_diQ9MXc2Ed-96YWU42lBhw"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_dikfMHc2Ed-96YWU42lBhw" name="cmd" type="_HK-0B3PGEd-bh5e9e7eOjw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dikfMXc2Ed-96YWU42lBhw" name="getUndoContext" visibility="public">
+ <ownedComment xmi:id="_dikfMnc2Ed-96YWU42lBhw">
+ <body>
+ * Gets my undo context. I add my context to all commands executed through
+ * me.
+ *
+ * @return my undo context
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_ditpIHc2Ed-96YWU42lBhw" type="_fXdLoXOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_di3aIHc2Ed-96YWU42lBhw" name="setUndoContext" visibility="public">
+ <ownedComment xmi:id="_di3aIXc2Ed-96YWU42lBhw">
+ <body>
+ * Sets my undo context.
+ *
+ * @param undoContext
+ * my undo context
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_di3aInc2Ed-96YWU42lBhw" name="undoContext" type="_fXdLoXOxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_djAkEHc2Ed-96YWU42lBhw" name="dispose" visibility="public"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Interface" xmi:id="_daXlcHc2Ed-96YWU42lBhw" name="IDiagramEditDomain">
+ <ownedComment xmi:id="_intNAHc2Ed-96YWU42lBhw">
+ <body>
+ * Diagram Edit Domain Interface
+ * @author melaasar
+ *
+ </body>
+ </ownedComment>
+ <ownedOperation xmi:id="_in2-AHc2Ed-96YWU42lBhw" name="getDiagramCommandStack" visibility="public">
+ <ownedComment xmi:id="_in2-AXc2Ed-96YWU42lBhw">
+ <body>
+ * Returns the DiagramCommandStack to be used with ICommands.
+ * @return The command stack for this edit domain.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_in2-Anc2Ed-96YWU42lBhw" type="_dZn-knc2Ed-96YWU42lBhw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_ioAvAHc2Ed-96YWU42lBhw" name="getActionManager" visibility="public">
+ <ownedComment xmi:id="_ioAvAXc2Ed-96YWU42lBhw">
+ <body>
+ * Returns the ActionManager
+ * @return the Action Manager
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_ioTp8Hc2Ed-96YWU42lBhw" type="_ioJ48nc2Ed-96YWU42lBhw" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_QN6toXe3Ed-j1aWhDOGgOg" name="DiagramCommandStack_diagramcommandstack_delegate" memberEnd="_QN6tone3Ed-j1aWhDOGgOg _da0RYHc2Ed-96YWU42lBhw">
+ <ownedEnd xmi:id="_QN6tone3Ed-j1aWhDOGgOg" name="diagramcommandstack" type="_dZn-knc2Ed-96YWU42lBhw" isUnique="false" association="_QN6toXe3Ed-j1aWhDOGgOg">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_QN6to3e3Ed-j1aWhDOGgOg" value="1"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_QN6tpHe3Ed-j1aWhDOGgOg"/>
+ </ownedEnd>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_dg7gcXc2Ed-96YWU42lBhw" name="commands">
+ <packagedElement xmi:type="uml:Class" xmi:id="_2fWrcHe7Ed-C3vabgS4Hag" name="ICommandProxy">
+ <ownedComment xmi:id="_2fWrcXe7Ed-C3vabgS4Hag">
+ <body>
+ * A Command Wrapper for a GMF ICommand.
+ *
+ * @author melaasar
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_2ff1YHe7Ed-C3vabgS4Hag" general="_dahWcHc2Ed-96YWU42lBhw"/>
+ <ownedAttribute xmi:id="_2ff1YXe7Ed-C3vabgS4Hag" name="iCommand" visibility="private" type="_HK-0B3PGEd-bh5e9e7eOjw" isUnique="false">
+ <ownedComment xmi:id="_2fpmYHe7Ed-C3vabgS4Hag">
+ <body> The wrapped command </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_2fywUHe7Ed-C3vabgS4Hag" name="dispose" visibility="public"/>
+ <ownedOperation xmi:id="_2fywUXe7Ed-C3vabgS4Hag" name="getICommand" visibility="public">
+ <ownedComment xmi:id="_2fywUne7Ed-C3vabgS4Hag">
+ <body>
+ * gets the warapped &lt;code>ICommand&lt;/code>
+ * @return the wrapped command
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_2f8hUHe7Ed-C3vabgS4Hag" type="_HK-0B3PGEd-bh5e9e7eOjw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_2gGSUHe7Ed-C3vabgS4Hag" name="canExecute" visibility="public">
+ <ownedParameter xmi:id="_2gGSUXe7Ed-C3vabgS4Hag" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_2gGSUne7Ed-C3vabgS4Hag" name="canUndo" visibility="public">
+ <ownedParameter xmi:id="_2gPcQHe7Ed-C3vabgS4Hag" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_2gZNQHe7Ed-C3vabgS4Hag" name="execute" visibility="public"/>
+ <ownedOperation xmi:id="_2gZNQXe7Ed-C3vabgS4Hag" name="redo" visibility="public"/>
+ <ownedOperation xmi:id="_2gi-QHe7Ed-C3vabgS4Hag" name="undo" visibility="public"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_dhhWUHc2Ed-96YWU42lBhw" name="CommandProxy">
+ <ownedComment xmi:id="_2WaK0Xe7Ed-C3vabgS4Hag">
+ <body>
+ * {@link ICommand} that delegates to a GEF {@link Command}.
+ *
+ * @author sshaw
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_2Wj70He7Ed-C3vabgS4Hag" general="_7-bbAHPQEd-NtftfyF3YZw"/>
+ <ownedAttribute xmi:id="_2XTisHe7Ed-C3vabgS4Hag" name="command" visibility="private" type="_dahWcHc2Ed-96YWU42lBhw" isUnique="false">
+ <ownedComment xmi:id="_2XmdoHe7Ed-C3vabgS4Hag">
+ <body> The wrapped command </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_2XwOoHe7Ed-C3vabgS4Hag" name="doExecuteWithResult" visibility="protected">
+ <ownedParameter xmi:id="_2X5YkHe7Ed-C3vabgS4Hag" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_2YDJkHe7Ed-C3vabgS4Hag" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_2YM6kHe7Ed-C3vabgS4Hag" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_2YWEgHe7Ed-C3vabgS4Hag" name="doRedoWithResult" visibility="protected">
+ <ownedParameter xmi:id="_2Yf1gHe7Ed-C3vabgS4Hag" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_2Yo_cHe7Ed-C3vabgS4Hag" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_2YywcHe7Ed-C3vabgS4Hag" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_2YywcXe7Ed-C3vabgS4Hag" name="doUndoWithResult" visibility="protected">
+ <ownedParameter xmi:id="_2Y8hcHe7Ed-C3vabgS4Hag" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_2ZFrYHe7Ed-C3vabgS4Hag" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_2ZFrYXe7Ed-C3vabgS4Hag" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_2ZPcYHe7Ed-C3vabgS4Hag" name="getCommand" visibility="public">
+ <ownedComment xmi:id="_2ZPcYXe7Ed-C3vabgS4Hag">
+ <body>
+ * Returns the wrapped command.
+ *
+ * @return Command
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_2ZZNYHe7Ed-C3vabgS4Hag" type="_dahWcHc2Ed-96YWU42lBhw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_2Z1SQHe7Ed-C3vabgS4Hag" name="canUndo" visibility="public">
+ <ownedParameter xmi:id="_2Z1SQXe7Ed-C3vabgS4Hag" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_2Z_DQHe7Ed-C3vabgS4Hag" name="canRedo" visibility="public">
+ <ownedParameter xmi:id="_2aI0QHe7Ed-C3vabgS4Hag" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_2aI0QXe7Ed-C3vabgS4Hag" name="canExecute" visibility="public">
+ <ownedParameter xmi:id="_2aR-MHe7Ed-C3vabgS4Hag" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_2abvMHe7Ed-C3vabgS4Hag" name="dispose" visibility="public"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_or-p0Hh5Ed-ECKyh8Dg6Wg" name="ArrangeCommand" isLeaf="true">
+ <ownedComment xmi:id="_or-p0Xh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * The arrange command implementation
+ * &lt;li> Delegates to the layout provider only during the execution of the command.
+ * &lt;li> {@link #canExecute()} asks the layout service whether it can layout the nodes
+ * (e.g some layouts won't layout if nodes are laid out already)
+ *
+ * @author aboyko
+ * @since 1.4
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_or-p0nh5Ed-ECKyh8Dg6Wg" general="_huFo1HPSEd-NtftfyF3YZw"/>
+ <ownedAttribute xmi:id="_osausHh5Ed-ECKyh8Dg6Wg" name="nodes" visibility="private" type="_osRkwnh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_oskfsHh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Nodes to layout
+ </body>
+ </ownedComment>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_os3aoHh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_osuQsHh5Ed-ECKyh8Dg6Wg"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_os3aoXh5Ed-ECKyh8Dg6Wg" name="selectionArrange" visibility="private" type="_QJqLwnOxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_otBLoHh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * &lt;code>true&lt;/code> if only a part of the graph is being laid out,
+ * &lt;code>false&lt;/code> - the whole graph is being laid out
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_otK8oHh5Ed-ECKyh8Dg6Wg" name="layoutHint" visibility="private" type="_fXmVm3OxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_otUGkHh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * The layout hint parameter
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_otd3kHh5Ed-ECKyh8Dg6Wg" name="doExecuteWithResult" visibility="protected">
+ <ownedParameter xmi:id="_otd3kXh5Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_otnBgHh5Ed-ECKyh8Dg6Wg" name="monitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_otwygHh5Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_ot6jgXh5Ed-ECKyh8Dg6Wg" name="initLayoutNodes" visibility="private">
+ <ownedComment xmi:id="_ot6jgnh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Creates the list of nodes to layout from the editparts required to be arranged
+ *
+ * @param editparts the editparts required to be arranged
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_ouDtcHh5Ed-ECKyh8Dg6Wg" name="editparts" type="_ot6jgHh5Ed-ECKyh8Dg6Wg">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ouNecXh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ouNecHh5Ed-ECKyh8Dg6Wg"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_ouXPcHh5Ed-ECKyh8Dg6Wg" name="getCommandForExecution" visibility="private">
+ <ownedComment xmi:id="_ouXPcXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Creates the actual layout command to execute. The command is created based on the {@link LayoutService}
+ *
+ * @return the actual graph layout command
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_ougZYHh5Ed-ECKyh8Dg6Wg" type="_HK-0B3PGEd-bh5e9e7eOjw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_ouqKYHh5Ed-ECKyh8Dg6Wg" name="canExecute" visibility="public">
+ <ownedParameter xmi:id="_ouqKYXh5Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_o2G2MHh5Ed-ECKyh8Dg6Wg" name="CommandUtilities">
+ <ownedComment xmi:id="_o2G2MXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Class containing commands utility methods.
+ *
+ * @author aboyko
+ *
+ </body>
+ </ownedComment>
+ <ownedOperation xmi:id="_o2QnMHh5Ed-ECKyh8Dg6Wg" name="canRedo" visibility="public" isStatic="true">
+ <ownedComment xmi:id="_o2QnMXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * This utility function determines whether the command is redoable.
+ * Since GEF commands API doesn't support for canRedo method, this
+ * utility will help to travel through the contents of GEF wrapper
+ * commands and determine redoability of the GEF command based on
+ * the redoability of the commands it contains.
+ *
+ * @param command The command to be examined
+ * @return &lt;code>true&lt;/code> if the passed command is redoable
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_o2ZxIHh5Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ <ownedParameter xmi:id="_o2ZxIXh5Ed-ECKyh8Dg6Wg" name="command" type="_dahWcHc2Ed-96YWU42lBhw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_o2jiIHh5Ed-ECKyh8Dg6Wg" name="getAffectedFiles" visibility="public" isStatic="true">
+ <ownedComment xmi:id="_o2jiIXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Determines the files affected by &lt;code>command&lt;/code>. Since GEF
+ * command API has no support for #getAffectedFiles, this utility will
+ * traverse the contents of GEF wrapper commands and determine the files
+ * affected by the &lt;code>ICommands&lt;/code> it contains.
+ *
+ * @param command
+ * the command
+ * @return the affected files
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_o2tTIHh5Ed-ECKyh8Dg6Wg" type="_vhKCKncqEd-96YWU42lBhw" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_o3AOEHh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_o22dEHh5Ed-ECKyh8Dg6Wg"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_o3AOEXh5Ed-ECKyh8Dg6Wg" name="command" type="_dahWcHc2Ed-96YWU42lBhw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_o3JYAHh5Ed-ECKyh8Dg6Wg" name="getMostSevereStatus" visibility="public" isStatic="true">
+ <ownedComment xmi:id="_o3JYAXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * A helper that inspects the command for the most severe command result.
+ *
+ * @param command
+ * @return IStatus in the command or null if no result can be obtained from the command.
+ * @since 1.2
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_o3TJAHh5Ed-ECKyh8Dg6Wg" type="_fXmVnnOxEd-nKvj-XTCBkg" direction="return"/>
+ <ownedParameter xmi:id="_o3c6AHh5Ed-ECKyh8Dg6Wg" name="command" type="_dahWcHc2Ed-96YWU42lBhw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_o3mD8Hh5Ed-ECKyh8Dg6Wg" name="aggregateStatuses" visibility="protected" isStatic="true">
+ <ownedComment xmi:id="_o3mD8Xh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Creates a suitable aggregate from these statuses. If there are no
+ * statuses to aggregate, then an null status is returned. If there is a
+ * single status to aggregate, then it is returned. Otherwise, a
+ * multi-status is returned with the provided statuses as children.
+ *
+ * @param statuses
+ * the statuses to aggregate. May have zero, one, or more
+ * elements (all must be {@link IStatus}es)
+ *
+ * @return the multi-status or null
+ * @since 1.2
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_o3v08Hh5Ed-ECKyh8Dg6Wg" type="_fXmVnnOxEd-nKvj-XTCBkg" direction="return"/>
+ <ownedParameter xmi:id="_o35l8Hh5Ed-ECKyh8Dg6Wg" name="statuses" type="_fXmVnnOxEd-nKvj-XTCBkg">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_o4Cv4Hh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_o35l8Xh5Ed-ECKyh8Dg6Wg"/>
+ </ownedParameter>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_o5h9oHh5Ed-ECKyh8Dg6Wg" name="CreateCommand">
+ <generalization xmi:id="_o5h9oXh5Ed-ECKyh8Dg6Wg" general="_huFo1HPSEd-NtftfyF3YZw"/>
+ <ownedAttribute xmi:id="_o51foHh5Ed-ECKyh8Dg6Wg" name="viewDescriptor" visibility="protected" isLeaf="true" type="_o5ruoXh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_o5-pkHh5Ed-ECKyh8Dg6Wg">
+ <body> the view descriptor </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_o6SLkHh5Ed-ECKyh8Dg6Wg" name="containerView" visibility="protected" isLeaf="true" type="_o6IakXh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_o6bVgHh5Ed-ECKyh8Dg6Wg">
+ <body> The container view </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_o6lGgHh5Ed-ECKyh8Dg6Wg" name="getViewDescriptor" visibility="protected">
+ <ownedComment xmi:id="_o6lGgXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Return the cached view descriprot.
+ *
+ * @return view descriprot
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_o6uQcHh5Ed-ECKyh8Dg6Wg" type="_o5ruoXh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_o64BcHh5Ed-ECKyh8Dg6Wg" name="getContainerView" visibility="protected">
+ <ownedComment xmi:id="_o64BcXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * give access to the view, where that will contain the created view
+ * @return the conatiner view
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_o7BycHh5Ed-ECKyh8Dg6Wg" type="_o6IakXh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_o7BycXh5Ed-ECKyh8Dg6Wg" name="doExecuteWithResult" visibility="protected">
+ <ownedParameter xmi:id="_o7K8YHh5Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_o7UtYHh5Ed-ECKyh8Dg6Wg" name="monitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_o7UtYXh5Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_o7eeYHh5Ed-ECKyh8Dg6Wg" name="canExecute" visibility="public">
+ <ownedParameter xmi:id="_o7eeYXh5Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_o7noUHh5Ed-ECKyh8Dg6Wg" name="isPersisted" visibility="public">
+ <ownedComment xmi:id="_o7noUXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * returns true if the view that will be created will be a transient view, transient views
+ * will not dirty the model and will never get serialized in the saved file
+ * @return true if persisted false if transient
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_o7xZUHh5Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_o7xZUXh5Ed-ECKyh8Dg6Wg" name="getAffectedFiles" visibility="public">
+ <ownedParameter xmi:id="_o76jQHh5Ed-ECKyh8Dg6Wg" type="_QJNf43OxEd-nKvj-XTCBkg" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_o8OFQHh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_o8EUQHh5Ed-ECKyh8Dg6Wg"/>
+ </ownedParameter>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_o5ruoHh5Ed-ECKyh8Dg6Wg" name="CreateViewRequest">
+ <packagedElement xmi:type="uml:Class" xmi:id="_o5ruoXh5Ed-ECKyh8Dg6Wg" name="ViewDescriptor"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_o9jiAHh5Ed-ECKyh8Dg6Wg" name="CreateOrSelectElementCommand">
+ <ownedComment xmi:id="_o9tTAHh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * &lt;p>
+ * A command that pops up a menu which can allow the user to select whether they
+ * want to create a new type, select an existing element, or leave it
+ * unspecified.
+ * &lt;/p>
+ *
+ * &lt;p>
+ * The content can be customized, one or more of the above options are
+ * permitted. The constants &lt;code>UNSPECIFIED&lt;/code> and
+ * &lt;code>SELECT_EXISTING&lt;/code> can be used as the content of a menu item.
+ * &lt;/p>
+ *
+ * &lt;p>
+ * The displayed strings can be customized with a custom label provider.
+ * &lt;/p>
+ *
+ * &lt;p>
+ * The options are:
+ * &lt;li>Unspecified&lt;/li>
+ * &lt;li>Select Existing Element&lt;/li>
+ * &lt;li>Create New Type A&lt;/li>
+ * &lt;li>Create New Type B&lt;/li>
+ *
+ * &lt;p>
+ * If a &quot;Select Existing&quot; menu item is chosen, an additional dialog appears
+ * allowing the user to choose an element.
+ *
+ * &lt;p>
+ * The &lt;code>getResultAdapter()&lt;/code> method returns an adaptable to the
+ * result.
+ * &lt;/p>
+ *
+ * @author cmahoney
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_o9tTAnh5Ed-ECKyh8Dg6Wg" general="_o9tTAXh5Ed-ECKyh8Dg6Wg"/>
+ <ownedAttribute xmi:id="_o93EAHh5Ed-ECKyh8Dg6Wg" name="UNSPECIFIED" visibility="public" isLeaf="true" isStatic="true" type="_QJNf73OxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_o-AN8Hh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Add this to the content list of the popup menu to add an 'unspecified'
+ * option.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_o-TI4Hh5Ed-ECKyh8Dg6Wg" name="SELECT_EXISTING" visibility="public" isLeaf="true" isStatic="true" type="_QJNf73OxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_o-c54Hh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Add this to the content list of the popup menu to add a 'select existing'
+ * option.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_o-v00Hh5Ed-ECKyh8Dg6Wg" name="CREATE_WITHOUT_BINDING" visibility="public" isLeaf="true" isStatic="true" type="_QJNf73OxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_o-5l0Hh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Add this to the content list of the popup menu to add a 'create without
+ * binding' option.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_o_8HoHh5Ed-ECKyh8Dg6Wg" name="resultAdapter" visibility="private" type="_o_y9sXh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_pAF4oHh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * The result to be returned from which the new element or type info can be
+ * retrieved.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_pAYzkXh5Ed-ECKyh8Dg6Wg" name="selectElementDialog" visibility="private" type="_pAYzkHh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_pAikkHh5Ed-ECKyh8Dg6Wg">
+ <body> The dialog to be used if &quot;Select Existing Element&quot; is chosen </body>
+ </ownedComment>
+ </ownedAttribute>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_o_DW0Hh5Ed-ECKyh8Dg6Wg" name="LabelProvider">
+ <ownedComment xmi:id="_o_DW0Xh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * The default label provider for the the menu items used in this command.
+ * Adds the &quot;Create new &quot; text to the objects of type
+ * &lt;code>IElementType&lt;/code>.
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_o_WRwXh5Ed-ECKyh8Dg6Wg" general="_o_WRwHh5Ed-ECKyh8Dg6Wg"/>
+ <ownedOperation xmi:id="_o_fbsHh5Ed-ECKyh8Dg6Wg" name="getText" visibility="public">
+ <ownedComment xmi:id="_o_fbsXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_o_pMsHh5Ed-ECKyh8Dg6Wg" type="_QJNf73OxEd-nKvj-XTCBkg" direction="return"/>
+ <ownedParameter xmi:id="_o_pMsXh5Ed-ECKyh8Dg6Wg" name="object" type="_msnXL3O4Ed-nKvj-XTCBkg"/>
+ </ownedOperation>
+ </nestedClassifier>
+ <ownedOperation xmi:id="_pArugHh5Ed-ECKyh8Dg6Wg" name="doExecuteWithResult" visibility="protected">
+ <ownedComment xmi:id="_pArugXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Pops up the dialog with the content provided. If the user selects 'select
+ * existing', then the select elements dialog also appears.
+ *
+ * @see org.eclipse.gmf.runtime.common.core.sandbox.AbstractCommand2#doExecute(org.eclipse.core.runtime.IProgressMonitor)
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pArugnh5Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_pA1fgHh5Ed-ECKyh8Dg6Wg" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_pA_QgHh5Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pBIacHh5Ed-ECKyh8Dg6Wg" name="getSelectElementDialog" visibility="protected">
+ <ownedComment xmi:id="_pBIacXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the selectElementDialog.
+ *
+ * @return Returns the selectElementDialog.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pBSLcHh5Ed-ECKyh8Dg6Wg" type="_pAYzkHh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pBSLcXh5Ed-ECKyh8Dg6Wg" name="setSelectElementDialog" visibility="public">
+ <ownedComment xmi:id="_pBSLcnh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Sets the selectElementDialog.
+ *
+ * @param dialog
+ * The dialog to set.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pBb8cHh5Ed-ECKyh8Dg6Wg" name="dialog" type="_pAYzkHh5Ed-ECKyh8Dg6Wg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pBlGYHh5Ed-ECKyh8Dg6Wg" name="getResultAdapter" visibility="public">
+ <ownedComment xmi:id="_pBlGYXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the resultAdapter.
+ *
+ * @return Returns the resultAdapter.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pBu3YHh5Ed-ECKyh8Dg6Wg" type="_o_y9sXh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pBu3YXh5Ed-ECKyh8Dg6Wg" name="getLabelProvider" visibility="protected">
+ <ownedComment xmi:id="_pBu3Ynh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the label provider that is to be used to display each item in the
+ * popup menu.
+ *
+ * @return the label provider
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pCByUHh5Ed-ECKyh8Dg6Wg" type="_pB4BUXh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_o9tTAXh5Ed-ECKyh8Dg6Wg" name="PopupMenuCommand">
+ <ownedComment xmi:id="_p5wrkHh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * A command that pops up a &lt;code>PopupMenu&lt;/code> or a
+ * &lt;code>PopupDialog&lt;/code> when it executes. The result from the
+ * &lt;code>PopupMenu&lt;/code> or &lt;code>PopupDialog&lt;/code> is retrieved via
+ * &lt;code>getCommandResult().getReturnValue()&lt;/code>.
+ *
+ * @author cmahoney
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_p5wrkXh5Ed-ECKyh8Dg6Wg" general="_7-bbAHPQEd-NtftfyF3YZw"/>
+ <ownedAttribute xmi:id="_p551gHh5Ed-ECKyh8Dg6Wg" name="POPUP_MENU" visibility="public" isLeaf="true" isStatic="true" type="_QJqLxnOxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_p6DmgHh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * The popup menu style for this command.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_p6WhcHh5Ed-ECKyh8Dg6Wg" name="POPUP_DIALOG" visibility="public" isLeaf="true" isStatic="true" type="_QJqLxnOxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_p6gScHh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * The popup dialog style for this command.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_p7GIUXh5Ed-ECKyh8Dg6Wg" name="parentShell" visibility="private" type="_p7GIUHh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_p7P5UHh5Ed-ECKyh8Dg6Wg">
+ <body> The parent shell for this menu. </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_p7i0QHh5Ed-ECKyh8Dg6Wg" name="popupMenu" visibility="private" type="_p7ZqUXh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_p7slQHh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * The popup menu to appear when this command is executed if the popup menu
+ * is not &lt;code>null&lt;/code>.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_p7_gMXh5Ed-ECKyh8Dg6Wg" name="popupDialog" visibility="private" type="_p7_gMHh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_p8JRMHh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * The dialog to appear when this command is executed, if the dialog
+ * is not &lt;code>null&lt;/code>.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_p8SbIHh5Ed-ECKyh8Dg6Wg" name="doExecuteWithResult" visibility="protected">
+ <ownedParameter xmi:id="_p8cMIHh5Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_p8cMIXh5Ed-ECKyh8Dg6Wg" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_p8l9IHh5Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_p8vHEHh5Ed-ECKyh8Dg6Wg" name="doRedoWithResult" visibility="protected">
+ <ownedParameter xmi:id="_p844EHh5Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_p844EXh5Ed-ECKyh8Dg6Wg" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_p9CpEHh5Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_p9LzAHh5Ed-ECKyh8Dg6Wg" name="doUndoWithResult" visibility="protected">
+ <ownedParameter xmi:id="_p9LzAXh5Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_p9VkAHh5Ed-ECKyh8Dg6Wg" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_p9et8Hh5Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_p9et8Xh5Ed-ECKyh8Dg6Wg" name="canRedo" visibility="public">
+ <ownedParameter xmi:id="_p9oe8Hh5Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_p9yP8Hh5Ed-ECKyh8Dg6Wg" name="canUndo" visibility="public">
+ <ownedParameter xmi:id="_p9yP8Xh5Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_p97Z4Hh5Ed-ECKyh8Dg6Wg" name="getParentShell" visibility="protected">
+ <ownedComment xmi:id="_p97Z4Xh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the parentShell.
+ * @return Returns the parentShell.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_p-FK4Hh5Ed-ECKyh8Dg6Wg" type="_p7GIUHh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_p-O74Hh5Ed-ECKyh8Dg6Wg" name="setParentShell" visibility="public">
+ <ownedComment xmi:id="_p-O74Xh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Sets the parentShell.
+ * @param parentShell The parentShell to set.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_p-YF0Hh5Ed-ECKyh8Dg6Wg" name="parentShell" type="_p7GIUHh5Ed-ECKyh8Dg6Wg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_p-h20Hh5Ed-ECKyh8Dg6Wg" name="getPopupMenu" visibility="protected">
+ <ownedComment xmi:id="_p-h20Xh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the popupMenu.
+ * @return Returns the popupMenu.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_p-h20nh5Ed-ECKyh8Dg6Wg" type="_p7ZqUXh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_p-rAwHh5Ed-ECKyh8Dg6Wg" name="setPopupMenu" visibility="public">
+ <ownedComment xmi:id="_p-rAwXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Sets the popupMenu. Sets the popup dialog to null.
+ * @param popupMenu The popupMenu to set.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_p-0xwHh5Ed-ECKyh8Dg6Wg" name="popupMenu" type="_p7ZqUXh5Ed-ECKyh8Dg6Wg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_p--iwHh5Ed-ECKyh8Dg6Wg" name="getPopupDialog" visibility="protected">
+ <ownedComment xmi:id="_p--iwXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the popupDialog.
+ * @return Returns the popupDialog.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_p_HssHh5Ed-ECKyh8Dg6Wg" type="_p7_gMHh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_p_HssXh5Ed-ECKyh8Dg6Wg" name="setPopupDialog" visibility="public">
+ <ownedComment xmi:id="_p_Hssnh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Sets the popupDialog. Sets the popup menu to null.
+ * @param popupDialog The popupDialog to set.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_p_RdsHh5Ed-ECKyh8Dg6Wg" name="popupDialog" type="_p7_gMHh5Ed-ECKyh8Dg6Wg"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_pISLUHh5Ed-ECKyh8Dg6Wg" name="CreateViewAndOptionallyElementCommand">
+ <ownedComment xmi:id="_pIb8UHh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * A command used to optionally create a new view and new element. This command
+ * is used when it is not known at command creation time whether or not an
+ * element should be created as well. For example, when creating a connection to
+ * an unspecified target, did the user want to
+ * &lt;li>create a new element for the target (view and element)?&lt;/li>
+ * &lt;li>use an existing element and its view already on the diagram (nothing
+ * created)?&lt;/li>
+ * &lt;li>use an existing element and add a new view to the diagram (view only)?
+ *
+ * &lt;p>
+ * Note: This command will pop up a dialog box if the element exists already and
+ * there is a view for it on the diagram to ask the user what they want to do.
+ * &lt;/p>
+ *
+ * @author cmahoney
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_pIb8UXh5Ed-ECKyh8Dg6Wg" general="_7-bbAHPQEd-NtftfyF3YZw"/>
+ <ownedAttribute xmi:id="_pIltUHh5Ed-ECKyh8Dg6Wg" name="elementAdapter" visibility="private" type="_fXmVm3OxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_pIu3QHh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Adapts to the element, if null at command execution time, an element is
+ * to be created.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_pJLjMnh5Ed-ECKyh8Dg6Wg" name="location" visibility="private" type="_pJLjMXh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_pJVUMHh5Ed-ECKyh8Dg6Wg">
+ <body> The location to create the new view. </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_pJeeIHh5Ed-ECKyh8Dg6Wg" name="containerEP" visibility="private" type="_ot6jgHh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_pJyAIHh5Ed-ECKyh8Dg6Wg">
+ <body> The container editpart to send the view request to. </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_pJyAIXh5Ed-ECKyh8Dg6Wg" name="command" visibility="private" type="_dahWcHc2Ed-96YWU42lBhw" isUnique="false">
+ <ownedComment xmi:id="_pKE7EHh5Ed-ECKyh8Dg6Wg">
+ <body> The command executed, saved for undo/redo. </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_pKOFAHh5Ed-ECKyh8Dg6Wg" name="resultAdapter" visibility="private" type="_o_y9sXh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_pKX2AHh5Ed-ECKyh8Dg6Wg">
+ <body> The result to be returned from which the new view can be retrieved. </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_pK0h8Xh5Ed-ECKyh8Dg6Wg" name="preferencesHint" visibility="private" type="_pK0h8Hh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_pK-S8Hh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * The hint used to find the appropriate preference store from which general
+ * diagramming preference values for properties of shapes, connections, and
+ * diagrams can be retrieved. This hint is mapped to a preference store in
+ * the {@link DiagramPreferencesRegistry}.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_pLHc4Hh5Ed-ECKyh8Dg6Wg" name="getAffectedFiles" visibility="public">
+ <ownedParameter xmi:id="_pLHc4Xh5Ed-ECKyh8Dg6Wg" type="_QJNf43OxEd-nKvj-XTCBkg" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pLaX0Hh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pLRN4Hh5Ed-ECKyh8Dg6Wg"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pLaX0Xh5Ed-ECKyh8Dg6Wg" name="getExistingView" visibility="protected">
+ <ownedComment xmi:id="_pLaX0nh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Searches the container editpart to see if the element passed in already
+ * has a view.
+ *
+ * @param element
+ * @return IView the view if found; or null
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pLkI0Hh5Ed-ECKyh8Dg6Wg" type="_o6IakXh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ <ownedParameter xmi:id="_pLt50Hh5Ed-ECKyh8Dg6Wg" name="element" type="_huPZ2HPSEd-NtftfyF3YZw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pMA0wHh5Ed-ECKyh8Dg6Wg" name="findChildEditPart" visibility="private">
+ <ownedComment xmi:id="_pMA0wXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Returns an immediate child editpart of the editpart passed in whose
+ * element is the same as the element passed in if it exists; returns null
+ * if such an editpart does not exist.
+ *
+ * @param editpart
+ * the parent editpart
+ * @param theElement
+ * the element to match
+ * @return an immediate child editpart of the editpart passed in whose
+ * element is the same as the element passed in if it exists; null
+ * otherwise
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pMA0wnh5Ed-ECKyh8Dg6Wg" type="_pL3DwHh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ <ownedParameter xmi:id="_pMKlwHh5Ed-ECKyh8Dg6Wg" name="editpart" type="_pL3DwHh5Ed-ECKyh8Dg6Wg"/>
+ <ownedParameter xmi:id="_pMdgsHh5Ed-ECKyh8Dg6Wg" name="theElement" type="_huPZ2HPSEd-NtftfyF3YZw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pMdgsXh5Ed-ECKyh8Dg6Wg" name="useExistingView" visibility="protected">
+ <ownedComment xmi:id="_pMdgsnh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Prompts the user to see if they would like to use an existing view on the
+ * diagram. Clients may subclass this method to customize the message
+ * dialog.
+ *
+ * @param view
+ * the existing view
+ * @return true if this view should be used; false otherwise
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pMmqoHh5Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ <ownedParameter xmi:id="_pMwboHh5Ed-ECKyh8Dg6Wg" name="view" type="_o6IakXh5Ed-ECKyh8Dg6Wg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pMwboXh5Ed-ECKyh8Dg6Wg" name="doExecuteWithResult" visibility="protected">
+ <ownedComment xmi:id="_pMwbonh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * &lt;li>If the element adapter is empty, this command creates a new element
+ * and view for it.&lt;/li>
+ * &lt;li>If the element adapter is not empty, and a view for this element
+ * exists in the container, this command will prompt the user to see if they
+ * want to use the existing view or create a new view for the element and
+ * then execute accordingly.&lt;/li>
+ * &lt;li>If the element adapter is not empty, and a view for this element
+ * does not exist in the container, this command will create a new element
+ * and view.&lt;/li>
+ *
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pM6MoHh5Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_pNDWkHh5Ed-ECKyh8Dg6Wg" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_pNNHkHh5Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pNW4kHh5Ed-ECKyh8Dg6Wg" name="canUndo" visibility="public">
+ <ownedParameter xmi:id="_pNW4kXh5Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pNgCgHh5Ed-ECKyh8Dg6Wg" name="canRedo" visibility="public">
+ <ownedParameter xmi:id="_pNgCgXh5Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pNpzgHh5Ed-ECKyh8Dg6Wg" name="doRedoWithResult" visibility="protected">
+ <ownedParameter xmi:id="_pNpzgXh5Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_pNy9cHh5Ed-ECKyh8Dg6Wg" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_pNy9cXh5Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pOGfcHh5Ed-ECKyh8Dg6Wg" name="doUndoWithResult" visibility="protected">
+ <ownedParameter xmi:id="_pOGfcXh5Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_pOPpYHh5Ed-ECKyh8Dg6Wg" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_pOPpYXh5Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pOZaYHh5Ed-ECKyh8Dg6Wg" name="getResult" visibility="public">
+ <ownedComment xmi:id="_pOZaYXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * @return the adapter from which the view can be retrieved.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pOjLYHh5Ed-ECKyh8Dg6Wg" type="_fXmVm3OxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pOjLYXh5Ed-ECKyh8Dg6Wg" name="setResult" visibility="protected">
+ <ownedComment xmi:id="_pOjLYnh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Sets the result to adapt to the view passed in.
+ * @param viewAdapter
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pOsVUHh5Ed-ECKyh8Dg6Wg" name="viewAdapter" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pO2GUHh5Ed-ECKyh8Dg6Wg" name="getElementAdapter" visibility="protected">
+ <ownedComment xmi:id="_pO2GUXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the elementAdapter.
+ * @return Returns the elementAdapter.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pO_QQHh5Ed-ECKyh8Dg6Wg" type="_fXmVm3OxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pPJBQHh5Ed-ECKyh8Dg6Wg" name="setElementAdapter" visibility="protected">
+ <ownedComment xmi:id="_pPJBQXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Sets the elementAdapter.
+ * @param elementAdapter The elementAdapter to set.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pPJBQnh5Ed-ECKyh8Dg6Wg" name="elementAdapter" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pPSyQHh5Ed-ECKyh8Dg6Wg" name="getLocation" visibility="protected">
+ <ownedComment xmi:id="_pPSyQXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the location.
+ * @return Returns the location.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pPb8MHh5Ed-ECKyh8Dg6Wg" type="_pJLjMXh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pPltMHh5Ed-ECKyh8Dg6Wg" name="setLocation" visibility="protected">
+ <ownedComment xmi:id="_pPltMXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Sets the location.
+ * @param location The location to set.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pPltMnh5Ed-ECKyh8Dg6Wg" name="location" type="_pJLjMXh5Ed-ECKyh8Dg6Wg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pPveMHh5Ed-ECKyh8Dg6Wg" name="getContainerEP" visibility="protected">
+ <ownedComment xmi:id="_pPveMXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the containerEP.
+ * @return Returns the containerEP.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pP4oIHh5Ed-ECKyh8Dg6Wg" type="_ot6jgHh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pQCZIHh5Ed-ECKyh8Dg6Wg" name="setContainerEP" visibility="protected">
+ <ownedComment xmi:id="_pQCZIXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Sets the containerEP.
+ * @param containerEP The containerEP to set.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pQCZInh5Ed-ECKyh8Dg6Wg" name="containerEP" type="_ot6jgHh5Ed-ECKyh8Dg6Wg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pQLjEHh5Ed-ECKyh8Dg6Wg" name="getPreferencesHint" visibility="protected">
+ <ownedComment xmi:id="_pQLjEXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the preferences hint that is to be used to find the appropriate
+ * preference store from which to retrieve diagram preference values. The
+ * preference hint is mapped to a preference store in the preference
+ * registry &lt;@link DiagramPreferencesRegistry>.
+ *
+ * @return the preferences hint
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pQVUEHh5Ed-ECKyh8Dg6Wg" type="_pK0h8Hh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pQfFEHh5Ed-ECKyh8Dg6Wg" name="setPreferencesHint" visibility="protected">
+ <ownedComment xmi:id="_pQfFEXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Sets the preferences hint that is to be used to find the appropriate
+ * preference store from which to retrieve diagram preference values. The
+ * preference hint is mapped to a preference store in the preference
+ * registry &lt;@link DiagramPreferencesRegistry>.
+ *
+ * @param preferencesHint the preferences hint
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pQfFEnh5Ed-ECKyh8Dg6Wg" name="preferencesHint" type="_pK0h8Hh5Ed-ECKyh8Dg6Wg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pQoPAHh5Ed-ECKyh8Dg6Wg" name="getCommand" visibility="protected">
+ <ownedComment xmi:id="_pQoPAXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the command.
+ * @return Returns the command.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pQyAAHh5Ed-ECKyh8Dg6Wg" type="_dahWcHc2Ed-96YWU42lBhw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pQ7xAHh5Ed-ECKyh8Dg6Wg" name="setCommand" visibility="protected">
+ <ownedComment xmi:id="_pQ7xAXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Sets the command.
+ * @param command The command to set.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pRE68Hh5Ed-ECKyh8Dg6Wg" name="command" type="_dahWcHc2Ed-96YWU42lBhw"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_pTA0oHh5Ed-ECKyh8Dg6Wg" name="DeferredCreateConnectionViewAndElementCommand">
+ <ownedComment xmi:id="_pTKloHh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * a command to create the both of the View and Semantic of the connection, but
+ * the editparts of target and source to obtain the command has not been created
+ * yet, since we have the ViewAdapter to we can use it to get its editpart once
+ * it is created and hence on execution time we can get its editpart to get the
+ * command for our request and then execute it.
+ *
+ * &lt;p>
+ * This command can handle both
+ * &lt;code>CreateConnectionViewAndElementRequest&lt;/code> and
+ * &lt;code>CreateConnectionViewRequest&lt;/code>.
+ * &lt;/p>
+ *
+ * @author choang
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_pTKloXh5Ed-ECKyh8Dg6Wg" general="_7-bbAHPQEd-NtftfyF3YZw"/>
+ <ownedAttribute xmi:id="_pTdgkHh5Ed-ECKyh8Dg6Wg" name="request" type="_pTUWoXh5Ed-ECKyh8Dg6Wg" isUnique="false"/>
+ <ownedAttribute xmi:id="_pTnRkHh5Ed-ECKyh8Dg6Wg" name="typeInfoAdapter" type="_fXmVm3OxEd-nKvj-XTCBkg" isUnique="false"/>
+ <ownedAttribute xmi:id="_pT6MgHh5Ed-ECKyh8Dg6Wg" name="sourceViewAdapter" type="_fXmVm3OxEd-nKvj-XTCBkg" isUnique="false"/>
+ <ownedAttribute xmi:id="_pUD9gHh5Ed-ECKyh8Dg6Wg" name="targetViewAdapter" type="_fXmVm3OxEd-nKvj-XTCBkg" isUnique="false"/>
+ <ownedAttribute xmi:id="_pUNHcHh5Ed-ECKyh8Dg6Wg" name="command" type="_dahWcHc2Ed-96YWU42lBhw" isUnique="false"/>
+ <ownedAttribute xmi:id="_pUW4cXh5Ed-ECKyh8Dg6Wg" name="viewer" type="_pUW4cHh5Ed-ECKyh8Dg6Wg" isUnique="false"/>
+ <ownedOperation xmi:id="_pUgpcHh5Ed-ECKyh8Dg6Wg" name="getAffectedFiles" visibility="public">
+ <ownedParameter xmi:id="_pUpzYHh5Ed-ECKyh8Dg6Wg" type="_QJNf43OxEd-nKvj-XTCBkg" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pU8uUHh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pUzkYHh5Ed-ECKyh8Dg6Wg"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pU8uUXh5Ed-ECKyh8Dg6Wg" name="canUndo" visibility="public">
+ <ownedParameter xmi:id="_pVGfUHh5Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pVGfUXh5Ed-ECKyh8Dg6Wg" name="canRedo" visibility="public">
+ <ownedParameter xmi:id="_pVQQUHh5Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pVZaQHh5Ed-ECKyh8Dg6Wg" name="getSourceEditPart" visibility="protected">
+ <ownedComment xmi:id="_pVZaQXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * gives access to the connection source edit part, which is the edit part
+ * of the connection's source &lt;code>View&lt;/code>
+ *
+ * @return the source edit part
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pVZaQnh5Ed-ECKyh8Dg6Wg" type="_pL3DwHh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pVjLQHh5Ed-ECKyh8Dg6Wg" name="getTargetEditPart" visibility="protected">
+ <ownedComment xmi:id="_pVjLQXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * gives access to the connection target edit part, which is the edit part
+ * of the connection's target &lt;code>View&lt;/code>
+ *
+ * @return the source edit part
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pVs8QHh5Ed-ECKyh8Dg6Wg" type="_pL3DwHh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pV2GMHh5Ed-ECKyh8Dg6Wg" name="canExecute" visibility="public">
+ <ownedParameter xmi:id="_pV2GMXh5Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pV_3MHh5Ed-ECKyh8Dg6Wg" name="doExecuteWithResult" visibility="protected">
+ <ownedComment xmi:id="_pV_3MXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Finds the source and target editparts by extracting the views from the
+ * view adapters and searching in the editpart viewer. Creates a connection
+ * view and element using the request.
+ *
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pWJBIHh5Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_pWSyIHh5Ed-ECKyh8Dg6Wg" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_pWSyIXh5Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pWcjIHh5Ed-ECKyh8Dg6Wg" name="getLabel" visibility="public">
+ <ownedComment xmi:id="_pWcjIXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * @see org.eclipse.gmf.runtime.common.core.command.ICommand#getLabel()
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pWltEHh5Ed-ECKyh8Dg6Wg" type="_QJNf73OxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pWveEHh5Ed-ECKyh8Dg6Wg" name="doRedoWithResult" visibility="protected">
+ <ownedParameter xmi:id="_pWveEXh5Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_pW5PEHh5Ed-ECKyh8Dg6Wg" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_pXCZAHh5Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pXMKAHh5Ed-ECKyh8Dg6Wg" name="doUndoWithResult" visibility="protected">
+ <ownedParameter xmi:id="_pXMKAXh5Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_pXVT8Hh5Ed-ECKyh8Dg6Wg" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_pXVT8Xh5Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_pY1IwHh5Ed-ECKyh8Dg6Wg" name="DeferredCreateConnectionViewCommand">
+ <ownedComment xmi:id="_pY-SsHh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * This command is used to create a connection view between two editparts, when
+ * only the view adapters are available at the time of creating the command. The
+ * editparts are required to get the correct create connection command, so this
+ * command defers getting the create connection command until execution time at
+ * which point it can get the editparts from the editpart registry and the view
+ * adapters.
+ *
+ * @author cmahoney
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_pY-SsXh5Ed-ECKyh8Dg6Wg" general="_huFo1HPSEd-NtftfyF3YZw"/>
+ <ownedAttribute xmi:id="_pZIDsHh5Ed-ECKyh8Dg6Wg" name="element" visibility="protected" type="_huPZ2HPSEd-NtftfyF3YZw" isUnique="false">
+ <ownedComment xmi:id="_pZR0sHh5Ed-ECKyh8Dg6Wg">
+ <body> the element for the connection's semantic element </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_pZa-oHh5Ed-ECKyh8Dg6Wg" name="semanticHint" visibility="protected" type="_QJNf73OxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_pZkvoHh5Ed-ECKyh8Dg6Wg">
+ <body> the connection's semantic hint </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_pZt5kHh5Ed-ECKyh8Dg6Wg" name="sourceViewAdapter" visibility="protected" type="_fXmVm3OxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_paeHgHh5Ed-ECKyh8Dg6Wg">
+ <body> the source adapter from which a View can be retrieved </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_paeHgXh5Ed-ECKyh8Dg6Wg" name="targetViewAdapter" visibility="protected" type="_fXmVm3OxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_paxCcHh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * the target adapter from which a View can be retrieved
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_paxCcXh5Ed-ECKyh8Dg6Wg" name="viewer" visibility="protected" type="_pUW4cHh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_pa6MYHh5Ed-ECKyh8Dg6Wg">
+ <body> the graphical viewer used to get the editpart registry </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_pbD9YHh5Ed-ECKyh8Dg6Wg" name="createConnectionCmd" visibility="private" type="_dahWcHc2Ed-96YWU42lBhw" isUnique="false">
+ <ownedComment xmi:id="_pbNuYHh5Ed-ECKyh8Dg6Wg">
+ <body> the command saved for undo and redo </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_pbW4UHh5Ed-ECKyh8Dg6Wg" name="preferencesHint" visibility="protected" type="_pK0h8Hh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_pbgpUHh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * The hint used to find the appropriate preference store from which general
+ * diagramming preference values for properties of shapes, connections, and
+ * diagrams can be retrieved. This hint is mapped to a preference store in
+ * the {@link DiagramPreferencesRegistry}.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_pbqaUHh5Ed-ECKyh8Dg6Wg" name="getAffectedFiles" visibility="public">
+ <ownedParameter xmi:id="_pbzkQHh5Ed-ECKyh8Dg6Wg" type="_QJNf43OxEd-nKvj-XTCBkg" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pb9VQHh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pbzkQXh5Ed-ECKyh8Dg6Wg"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pcGfMHh5Ed-ECKyh8Dg6Wg" name="doExecuteWithResult" visibility="protected">
+ <ownedComment xmi:id="_pcGfMXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Finds the source and target editparts by extracting the views from the
+ * view adapaters and searching in the editpart viewer. Creates a connection
+ * view between the source and target.
+ *
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pcQQMHh5Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_pcQQMXh5Ed-ECKyh8Dg6Wg" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_pcaBMHh5Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_pefE0Hh5Ed-ECKyh8Dg6Wg" name="DeferredLayoutCommand">
+ <ownedComment xmi:id="_peo10Hh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * This command is used to arrange editparts on a diagram, when only the view
+ * adapters are available at the time of creating the command. It is necessary
+ * to have the editparts when creating a layout command so this command defers
+ * the creation of the layout command until execution time at which point it can
+ * get the editparts from the editpart registry using the view adapters.
+ *
+ * @author cmahoney
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_peo10Xh5Ed-ECKyh8Dg6Wg" general="_huFo1HPSEd-NtftfyF3YZw"/>
+ <ownedAttribute xmi:id="_peym0Hh5Ed-ECKyh8Dg6Wg" name="layoutType" visibility="protected" type="_QJNf73OxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_pe7wwHh5Ed-ECKyh8Dg6Wg">
+ <body> the type of layout to be performed </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_pfFhwHh5Ed-ECKyh8Dg6Wg" name="viewAdapters" visibility="protected" type="_QJNf43OxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_pfPSwHh5Ed-ECKyh8Dg6Wg">
+ <body> the IAdaptables from which an View can be retrieved </body>
+ </ownedComment>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pfiNsHh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pfYcsHh5Ed-ECKyh8Dg6Wg"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_pfrXoHh5Ed-ECKyh8Dg6Wg" name="containerEP" visibility="protected" type="_ot6jgHh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_pf1IoHh5Ed-ECKyh8Dg6Wg">
+ <body> the diagram editpart used to get the editpart registry </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_pf1IoXh5Ed-ECKyh8Dg6Wg" name="getAffectedFiles" visibility="public">
+ <ownedParameter xmi:id="_pf-5oHh5Ed-ECKyh8Dg6Wg" type="_QJNf43OxEd-nKvj-XTCBkg" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pgIDkHh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pf-5oXh5Ed-ECKyh8Dg6Wg"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pgR0kHh5Ed-ECKyh8Dg6Wg" name="doExecuteWithResult" visibility="protected">
+ <ownedComment xmi:id="_pgR0kXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Executes a layout command with all the editparts for the view adapters.
+ *
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_pgblkHh5Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_pgkvgHh5Ed-ECKyh8Dg6Wg" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_pguggHh5Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pguggXh5Ed-ECKyh8Dg6Wg" name="optimizeCommand" visibility="private">
+ <ownedParameter xmi:id="_pg3qcHh5Ed-ECKyh8Dg6Wg" type="_HK-0B3PGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_pheHYHh5Ed-ECKyh8Dg6Wg" name="command" type="_dahWcHc2Ed-96YWU42lBhw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_phn4YHh5Ed-ECKyh8Dg6Wg" name="cleanup" visibility="protected"/>
+ <ownedOperation xmi:id="_phn4YXh5Ed-ECKyh8Dg6Wg" name="getContainerFigure" visibility="protected">
+ <ownedComment xmi:id="_phn4Ynh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * gets the container edit part's figure
+ * @return the container figure
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_phxCUXh5Ed-ECKyh8Dg6Wg" type="_phxCUHh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_ph6zUHh5Ed-ECKyh8Dg6Wg" name="getContainerEP" visibility="protected">
+ <ownedComment xmi:id="_ph6zUXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * gets the container edit part
+ * @return the container edit part
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_piD9QHh5Ed-ECKyh8Dg6Wg" type="_ot6jgHh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_piD9QXh5Ed-ECKyh8Dg6Wg" name="getViewAdapters" visibility="protected">
+ <ownedComment xmi:id="_piD9Qnh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * gets a list of &lt;code>IAdaptable&lt;/code> that can adapt to &lt;code>
+ * View&lt;/code>
+ * @return view adapters
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_piXfQHh5Ed-ECKyh8Dg6Wg" type="_QJNf43OxEd-nKvj-XTCBkg" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pigpMXh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pigpMHh5Ed-ECKyh8Dg6Wg"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_piqaMHh5Ed-ECKyh8Dg6Wg" name="canExecute" visibility="public">
+ <ownedParameter xmi:id="_pi0LMHh5Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_pqti8Hh5Ed-ECKyh8Dg6Wg" name="OpenDiagramCommand">
+ <ownedComment xmi:id="_pqti8Xh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Command to open a diagram.
+ *
+ * @author jcorchis
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_pq2s4Hh5Ed-ECKyh8Dg6Wg" general="_7-bbAHPQEd-NtftfyF3YZw"/>
+ <ownedAttribute xmi:id="_pq2s4Xh5Ed-ECKyh8Dg6Wg" name="_element" visibility="private" type="_huPZ2HPSEd-NtftfyF3YZw" isUnique="false">
+ <ownedComment xmi:id="_prAd4Hh5Ed-ECKyh8Dg6Wg">
+ <body> Remember the element to be opened. </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_prKO4Hh5Ed-ECKyh8Dg6Wg" name="getElement" visibility="protected">
+ <ownedComment xmi:id="_prKO4Xh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * returns the element associated with that command
+ * @return the element associated with that command
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_prTY0Hh5Ed-ECKyh8Dg6Wg" type="_huPZ2HPSEd-NtftfyF3YZw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_prdJ0Hh5Ed-ECKyh8Dg6Wg" name="setElement" visibility="protected">
+ <ownedComment xmi:id="_prdJ0Xh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * set the element to open
+ * @param element the element to open
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_prmTwHh5Ed-ECKyh8Dg6Wg" name="element" type="_huPZ2HPSEd-NtftfyF3YZw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_prmTwXh5Ed-ECKyh8Dg6Wg" name="canExecute" visibility="public">
+ <ownedComment xmi:id="_prmTwnh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * This command can only be executed if the element is a diagram.
+ * @see org.eclipse.gmf.runtime.common.core.command.ICommand#isExecutable()
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_prwEwHh5Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_pr51wHh5Ed-ECKyh8Dg6Wg" name="doExecuteWithResult" visibility="protected">
+ <ownedComment xmi:id="_pr51wXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Create a new editor to display the corresponding diagram.
+ * &lt;p>
+ * @see org.eclipse.gmf.runtime.common.core.sandbox.AbstractCommand2#doExecute(org.eclipse.core.runtime.IProgressMonitor)
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_psC_sHh5Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_psMwsHh5Ed-ECKyh8Dg6Wg" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_psWhsHh5Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_psWhsXh5Ed-ECKyh8Dg6Wg" name="canUndo" visibility="public">
+ <ownedParameter xmi:id="_psfroHh5Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_psfroXh5Ed-ECKyh8Dg6Wg" name="canRedo" visibility="public">
+ <ownedParameter xmi:id="_pspcoHh5Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_psymkHh5Ed-ECKyh8Dg6Wg" name="doRedoWithResult" visibility="protected">
+ <ownedParameter xmi:id="_psymkXh5Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_ps8XkHh5Ed-ECKyh8Dg6Wg" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_ptGIkHh5Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_ptPSgHh5Ed-ECKyh8Dg6Wg" name="doUndoWithResult" visibility="protected">
+ <ownedParameter xmi:id="_ptZDgHh5Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_pti0gHh5Ed-ECKyh8Dg6Wg" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_pti0gXh5Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_pzWhkHh5Ed-ECKyh8Dg6Wg" name="PasteCommand">
+ <ownedComment xmi:id="_pzWhkXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Paste Command for the views
+ *
+ * @author Vishy Ramaswamy
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_pzgSkXh5Ed-ECKyh8Dg6Wg" general="_pzgSkHh5Ed-ECKyh8Dg6Wg"/>
+ <ownedAttribute xmi:id="_pzpcgnh5Ed-ECKyh8Dg6Wg" name="data" visibility="private" isLeaf="true" type="_pzpcgXh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_pzzNgHh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * The clipboard data
+ </body>
+ </ownedComment>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_p0P5cHh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_p0GIcHh5Ed-ECKyh8Dg6Wg"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_p0slYXh5Ed-ECKyh8Dg6Wg" name="mm" visibility="private" type="_p0slYHh5Ed-ECKyh8Dg6Wg" isUnique="false"/>
+ <ownedOperation xmi:id="_p01vUHh5Ed-ECKyh8Dg6Wg" name="doExecuteWithResult" visibility="protected">
+ <ownedParameter xmi:id="_p0_gUHh5Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_p1IqQHh5Ed-ECKyh8Dg6Wg" name="monitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_p1IqQXh5Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_p1SbQHh5Ed-ECKyh8Dg6Wg" name="pasteFromString" visibility="protected">
+ <ownedComment xmi:id="_p1SbQXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Method pasteFromString.
+ * pastes the clipboard contents on to self
+ * @param clipboard The clipboard contents - serialization used during copy
+ * @return List The list of IView resulting from the paste
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_p1cMQHh5Ed-ECKyh8Dg6Wg" type="_QJNf43OxEd-nKvj-XTCBkg" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_p1vHMHh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_p1lWMHh5Ed-ECKyh8Dg6Wg"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_p1vHMXh5Ed-ECKyh8Dg6Wg" name="view" type="_o6IakXh5Ed-ECKyh8Dg6Wg"/>
+ <ownedParameter xmi:id="_p144MHh5Ed-ECKyh8Dg6Wg" name="clipboard" type="_QJNf73OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_p2CCIXh5Ed-ECKyh8Dg6Wg" name="convertEdgeBendpoints" visibility="private">
+ <ownedComment xmi:id="_p2CCInh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * @param mu the &lt;code>MeasurementUnit&lt;/code> for the notation diagram.
+ * @param edges the &lt;code>Set&lt;/code> of edges to convert the bendpoints of.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_p2LzIHh5Ed-ECKyh8Dg6Wg" name="mu" type="_p2CCIHh5Ed-ECKyh8Dg6Wg"/>
+ <ownedParameter xmi:id="_p2U9EHh5Ed-ECKyh8Dg6Wg" name="edges" type="_URINMXcvEd-96YWU42lBhw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_p2euEHh5Ed-ECKyh8Dg6Wg" name="convertNodesConstraint" visibility="private">
+ <ownedComment xmi:id="_p2euEXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * @param retval the &lt;code>List&lt;/code> of &lt;code>Node&lt;/code> objects to convert the constraint of.
+ * @param mu the &lt;code>MeasurementUnit&lt;/code> for the notation diagram.
+ * @return the &lt;code>Set&lt;/code> of &lt;code>Edge&lt;/code> views that are attached to the list of nodes
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_p2ofEHh5Ed-ECKyh8Dg6Wg" type="_URINMXcvEd-96YWU42lBhw" direction="return"/>
+ <ownedParameter xmi:id="_p2xpAHh5Ed-ECKyh8Dg6Wg" name="retval" type="_QJNf43OxEd-nKvj-XTCBkg">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_p27aAHh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_p2xpAXh5Ed-ECKyh8Dg6Wg"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_p3FLAHh5Ed-ECKyh8Dg6Wg" name="mu" type="_p2CCIHh5Ed-ECKyh8Dg6Wg"/>
+ <ownedParameter xmi:id="_p3FLAXh5Ed-ECKyh8Dg6Wg" name="isProcessOffset" type="_QJqLwnOxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_p3YF8Xh5Ed-ECKyh8Dg6Wg" name="processNodeOffset" visibility="protected">
+ <ownedComment xmi:id="_p3YF8nh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Add offset node position.
+ * @param node
+ * @param constraintRect
+ * @return
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_p3hP4Hh5Ed-ECKyh8Dg6Wg" type="_p3YF8Hh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ <ownedParameter xmi:id="_p3rA4Hh5Ed-ECKyh8Dg6Wg" name="node" type="_p3OU8Hh5Ed-ECKyh8Dg6Wg"/>
+ <ownedParameter xmi:id="_p30x4Hh5Ed-ECKyh8Dg6Wg" name="constraintRect" type="_p3YF8Hh5Ed-ECKyh8Dg6Wg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_p30x4Xh5Ed-ECKyh8Dg6Wg" name="getMapMode" visibility="public">
+ <ownedComment xmi:id="_p30x4nh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Get map mode associated with this Paste command.
+ * @return
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_p3970Hh5Ed-ECKyh8Dg6Wg" type="_p0slYHh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_qCZqMHh5Ed-ECKyh8Dg6Wg" name="PromptForConnectionAndEndCommand">
+ <ownedComment xmi:id="_qCZqMXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * &lt;p>
+ * A command that pops up a menu which can allow the user to select the type of
+ * connection to be created and whether they want to create a new type or select
+ * an existing element for the other end of the connection.
+ * &lt;/p>
+ *
+ * &lt;p>
+ * The &lt;code>getRelationshipTypeAdapter()&lt;/code> method returns an adaptable
+ * to the relationship type result.
+ * &lt;/p>
+ *
+ * &lt;p>
+ * The &lt;code>getEndAdapter()&lt;/code> method returns an adaptable to the end
+ * type result.
+ * &lt;/p>
+ *
+ * @author cmahoney
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_qCZqMnh5Ed-ECKyh8Dg6Wg" general="_o9tTAXh5Ed-ECKyh8Dg6Wg"/>
+ <ownedAttribute xmi:id="_qE8A0Xh5Ed-ECKyh8Dg6Wg" name="EXISTING_ELEMENT" visibility="private" isStatic="true" type="_QJNf73OxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_qFFKwHh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * This can be added to the content list to add a 'select existing' option.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_qFYswHh5Ed-ECKyh8Dg6Wg" name="connectionLabelProvider" visibility="private" type="_qFO7wHh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_qFh2sHh5Ed-ECKyh8Dg6Wg">
+ <body> Label provider of the popup menu for the connection types. </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_qF0xoHh5Ed-ECKyh8Dg6Wg" name="endLabelProvider" visibility="private" isStatic="true" type="_qFrnsHh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_qF-ioHh5Ed-ECKyh8Dg6Wg">
+ <body> Label provider of the submenus for the other end element. </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_qGIToHh5Ed-ECKyh8Dg6Wg" name="connectionAdapter" visibility="private" type="_o_y9sXh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_qGbOkHh5Ed-ECKyh8Dg6Wg">
+ <body> Adapts to the connection type result. </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_qGbOkXh5Ed-ECKyh8Dg6Wg" name="endAdapter" visibility="private" type="_o_y9sXh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_qGuJgHh5Ed-ECKyh8Dg6Wg">
+ <body> Adapts to the other end type result. </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_qG36gXh5Ed-ECKyh8Dg6Wg" name="request" visibility="private" type="_qG36gHh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_qHBEcHh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * The request to create a connection. It may contain the connection type or
+ * it may be a &lt;code>CreateUnspecifiedTypeConnectionRequest&lt;/code>.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_qHK1cHh5Ed-ECKyh8Dg6Wg" name="containerEP" visibility="private" type="_ot6jgHh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_qHUmcHh5Ed-ECKyh8Dg6Wg">
+ <body> The container editpart to send the view request to. </body>
+ </ownedComment>
+ </ownedAttribute>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_qCjbMHh5Ed-ECKyh8Dg6Wg" name="ConnectionLabelProvider" visibility="protected">
+ <ownedComment xmi:id="_qCslIHh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Label provider of the first popup menu with the relationship types.
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_qCslIXh5Ed-ECKyh8Dg6Wg" general="_o_WRwHh5Ed-ECKyh8Dg6Wg"/>
+ <ownedOperation xmi:id="_qC2WIHh5Ed-ECKyh8Dg6Wg" name="getText" visibility="public">
+ <ownedParameter xmi:id="_qDAHIHh5Ed-ECKyh8Dg6Wg" type="_QJNf73OxEd-nKvj-XTCBkg" direction="return"/>
+ <ownedParameter xmi:id="_qDJREHh5Ed-ECKyh8Dg6Wg" name="element" type="_msnXL3O4Ed-nKvj-XTCBkg"/>
+ </ownedOperation>
+ </nestedClassifier>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_qDJREXh5Ed-ECKyh8Dg6Wg" name="EndLabelProvider" visibility="protected">
+ <ownedComment xmi:id="_qDTCEHh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Label provider of the second popup (submenus) for the type of the other
+ * end.
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_qDTCEXh5Ed-ECKyh8Dg6Wg" general="_o_WRwHh5Ed-ECKyh8Dg6Wg"/>
+ <ownedOperation xmi:id="_qDcMAHh5Ed-ECKyh8Dg6Wg" name="getText" visibility="public">
+ <ownedParameter xmi:id="_qDcMAXh5Ed-ECKyh8Dg6Wg" type="_QJNf73OxEd-nKvj-XTCBkg" direction="return"/>
+ <ownedParameter xmi:id="_qDvuAHh5Ed-ECKyh8Dg6Wg" name="element" type="_msnXL3O4Ed-nKvj-XTCBkg"/>
+ </ownedOperation>
+ </nestedClassifier>
+ <nestedClassifier xmi:type="uml:Class" xmi:id="_qD438Hh5Ed-ECKyh8Dg6Wg" name="ConnectionAndEndLabelProvider" visibility="protected">
+ <ownedComment xmi:id="_qD438Xh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Label provider of the first and only popup for the type of the other end
+ * when there is only one connection type (e.g. a single relationship type
+ * palette tool is used).
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_qECo8Hh5Ed-ECKyh8Dg6Wg" general="_o_WRwHh5Ed-ECKyh8Dg6Wg"/>
+ <ownedAttribute xmi:id="_qECo8Xh5Ed-ECKyh8Dg6Wg" name="connectionItem" visibility="private" type="_msnXL3O4Ed-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_qEVj4Hh5Ed-ECKyh8Dg6Wg">
+ <body> the known connection item </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_qEVj4Xh5Ed-ECKyh8Dg6Wg" name="getText" visibility="public">
+ <ownedParameter xmi:id="_qEfU4Hh5Ed-ECKyh8Dg6Wg" type="_QJNf73OxEd-nKvj-XTCBkg" direction="return"/>
+ <ownedParameter xmi:id="_qEoe0Hh5Ed-ECKyh8Dg6Wg" name="element" type="_msnXL3O4Ed-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_qEyP0Hh5Ed-ECKyh8Dg6Wg" name="getConnectionItem" visibility="protected">
+ <ownedComment xmi:id="_qEyP0Xh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the connection item.
+ *
+ * @return the connection item
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_qE8A0Hh5Ed-ECKyh8Dg6Wg" type="_msnXL3O4Ed-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ </nestedClassifier>
+ <ownedOperation xmi:id="_qHdwYHh5Ed-ECKyh8Dg6Wg" name="getConnectionMenuContent" visibility="protected">
+ <ownedComment xmi:id="_qHdwYXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets a list of all the connection items that will represent the
+ * connection choices and will appear in the first part of the popup menu.
+ *
+ * &lt;p>
+ * If the objects in this are not &lt;code>IElementTypes&lt;/code> or they
+ * require a special label provider, then
+ * {@link #getConnectionLabelProvider()} should be overridden to provide
+ * this.
+ * &lt;/p>
+ * &lt;p>
+ * When this command has executed, the connection adapter result ({@link #getConnectionAdapter()})
+ * will be populated with the connection item chosen.
+ * &lt;/p>
+ *
+ * @return the list of connection items to appear in the popup menu
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_qHnhYHh5Ed-ECKyh8Dg6Wg" type="_QJNf43OxEd-nKvj-XTCBkg" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qHxSYXh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qHxSYHh5Ed-ECKyh8Dg6Wg"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_qH6cUHh5Ed-ECKyh8Dg6Wg" name="getEndMenuContent" visibility="protected">
+ <ownedComment xmi:id="_qH6cUXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets a list of all the end items that will represent the other end
+ * choices and will appear in the submenu popup of the given connection
+ * item.
+ *
+ * &lt;p>
+ * If the objects in this are not &lt;code>IElementTypes&lt;/code> or they
+ * require a special label provider, then {@link #getEndLabelProvider()}
+ * should be overridden to provide this.
+ * &lt;/p>
+ * &lt;p>
+ * When this command has executed, the end adapter result ({@link #getEndAdapter()})
+ * will be populated with the end item chosen.
+ * &lt;/p>
+ *
+ * @param connectionItem
+ * the connection item for which this will be a submenu
+ * @return the list of end items to appear in the popup menu
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_qIENUHh5Ed-ECKyh8Dg6Wg" type="_QJNf43OxEd-nKvj-XTCBkg" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qIXIQHh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qINXQHh5Ed-ECKyh8Dg6Wg"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_qIXIQXh5Ed-ECKyh8Dg6Wg" name="connectionItem" type="_msnXL3O4Ed-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_qIg5QHh5Ed-ECKyh8Dg6Wg" name="createPopupMenu" visibility="protected">
+ <ownedComment xmi:id="_qIg5QXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the content to be used in the popup menu from the Modeling Assistant
+ * Service and creates the popup menu.
+ *
+ * @return the top-level popup menu
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_qIqDMHh5Ed-ECKyh8Dg6Wg" type="_p7ZqUXh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_qIz0MHh5Ed-ECKyh8Dg6Wg" name="filterUnsupportedNodeTypes" visibility="private">
+ <ownedComment xmi:id="_qIz0MXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Returns a new list with all the types from the list given that can be
+ * created.
+ *
+ * @param allTypes
+ * a list of &lt;code>IElementTypes&lt;/code>.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_qI9lMHh5Ed-ECKyh8Dg6Wg" type="_QJNf43OxEd-nKvj-XTCBkg" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qJGvIHh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qI9lMXh5Ed-ECKyh8Dg6Wg"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="_qJQgIHh5Ed-ECKyh8Dg6Wg" name="allTypes" type="_QJNf43OxEd-nKvj-XTCBkg">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qJjbEHh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qJZqEHh5Ed-ECKyh8Dg6Wg"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_qJtMEHh5Ed-ECKyh8Dg6Wg" name="canExecute" visibility="public">
+ <ownedParameter xmi:id="_qJtMEXh5Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_qJ2WAHh5Ed-ECKyh8Dg6Wg" name="doExecuteWithResult" visibility="protected">
+ <ownedComment xmi:id="_qJ2WAXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Pops up the dialog with the content provided. If the user selects 'select
+ * existing', then the select elements dialog also appears.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_qJ2WAnh5Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_qKAHAHh5Ed-ECKyh8Dg6Wg" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_qKJ4AHh5Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_qKcy8Xh5Ed-ECKyh8Dg6Wg" name="supportsExistingElement" visibility="private">
+ <ownedComment xmi:id="_qKcy8nh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Checks if the &lt;code>ModelingAssistantService&lt;/code> supports the
+ * ability to open a dialog for the user to select an existing element
+ *
+ * @param connectionType
+ * @return true if the supported by the modeling assistant service; false
+ * otherwise
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_qKl84Hh5Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ <ownedParameter xmi:id="_qKvt4Hh5Ed-ECKyh8Dg6Wg" name="connectionType" type="_qKcy8Hh5Ed-ECKyh8Dg6Wg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_qK5e4Hh5Ed-ECKyh8Dg6Wg" name="getConnectionAdapter" visibility="public">
+ <ownedComment xmi:id="_qK5e4Xh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the connectionAdapter.
+ *
+ * @return Returns the connectionAdapter.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_qK5e4nh5Ed-ECKyh8Dg6Wg" type="_o_y9sXh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_qLCo0Hh5Ed-ECKyh8Dg6Wg" name="getEndAdapter" visibility="public">
+ <ownedComment xmi:id="_qLCo0Xh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the endAdapter.
+ *
+ * @return Returns the endAdapter.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_qLMZ0Hh5Ed-ECKyh8Dg6Wg" type="_fXmVm3OxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_qLWK0Hh5Ed-ECKyh8Dg6Wg" name="isDirectionReversed" visibility="protected">
+ <ownedComment xmi:id="_qLWK0Xh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Returns true if the request is a reversed
+ * &lt;code>CreateUnspecifiedTypeConnectionRequest&lt;/code>.
+ *
+ * @return Returns true if the request is a reversed
+ * &lt;code>CreateUnspecifiedTypeConnectionRequest&lt;/code>; false
+ * otherwise
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_qLfUwHh5Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_qLyPsHh5Ed-ECKyh8Dg6Wg" name="getKnownEnd" visibility="private">
+ <ownedComment xmi:id="_qLyPsXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the known end, which even in the case of a reversed
+ * &lt;code>CreateUnspecifiedTypeConnectionRequest&lt;/code>, is the source
+ * editpart.
+ *
+ * @return the known end
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_qLyPsnh5Ed-ECKyh8Dg6Wg" type="_pL3DwHh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_qL8AsHh5Ed-ECKyh8Dg6Wg" name="getConnectionLabelProvider" visibility="protected">
+ <ownedComment xmi:id="_qL8AsXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the label provider that is to be used in the first menu of the popup
+ * where the user is to choose the connection to be created.
+ *
+ * @return the connection label provider
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_qMFxsHh5Ed-ECKyh8Dg6Wg" type="_pB4BUXh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_qMO7oHh5Ed-ECKyh8Dg6Wg" name="getEndLabelProvider" visibility="protected">
+ <ownedComment xmi:id="_qMO7oXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the label provider that is to be used in the second menu of the
+ * popup where the user is to choose the end (could be source or target) to
+ * be created.
+ *
+ * @return the end label provider
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_qMYsoHh5Ed-ECKyh8Dg6Wg" type="_pB4BUXh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_qMYsoXh5Ed-ECKyh8Dg6Wg" name="getConnectionAndEndLabelProvider" visibility="protected">
+ <ownedComment xmi:id="_qMYsonh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Gets the label provider that is to be used when there is only one option
+ * for the connection type so the popup menu consists of a single menu
+ * identifying the connection type to be created and options for the other
+ * end of which the user must choose
+ *
+ * @param connectionItem
+ * the single known connection item
+ * @return the label provider
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_qMidoHh5Ed-ECKyh8Dg6Wg" type="_pB4BUXh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ <ownedParameter xmi:id="_qMrnkHh5Ed-ECKyh8Dg6Wg" name="connectionItem" type="_msnXL3O4Ed-nKvj-XTCBkg"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_qFO7wHh5Ed-ECKyh8Dg6Wg" name="ConnectionLabelProvider"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_qFrnsHh5Ed-ECKyh8Dg6Wg" name="EndLabelProvider"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_qzkocHh5Ed-ECKyh8Dg6Wg" name="SemanticCreateCommand">
+ <ownedComment xmi:id="_qzkocXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * A Wrapper around a real element creation command
+ * The main use of this command is to ensure that the semantic
+ * adapter is updated appropriately upon undo and redo of the real command
+ *
+ * @author melaasar
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_qzuZcHh5Ed-ECKyh8Dg6Wg" general="_7-bbAHPQEd-NtftfyF3YZw"/>
+ <ownedAttribute xmi:id="_qz4KcXh5Ed-ECKyh8Dg6Wg" name="requestAdapter" type="_qz4KcHh5Ed-ECKyh8Dg6Wg" isUnique="false">
+ <ownedComment xmi:id="_q0BUYHh5Ed-ECKyh8Dg6Wg">
+ <body> the request adapter </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_q0LFYHh5Ed-ECKyh8Dg6Wg" name="realSemanticCommand" visibility="private" type="_HK-0B3PGEd-bh5e9e7eOjw" isUnique="false">
+ <ownedComment xmi:id="_q0UPUHh5Ed-ECKyh8Dg6Wg">
+ <body> the real element creation command </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_q0eAUHh5Ed-ECKyh8Dg6Wg" name="getCommandResult" visibility="public">
+ <ownedComment xmi:id="_q0eAUXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * If the command was properly executed, the result will be set during
+ * execution. If the command failed execution, the result may contain status
+ * information for feedback purposes.
+ *
+ * @return
+ * The command result either from this command executed
+ * properly or the wrapped realSemanticCommand in case status information
+ * needs to be returned.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_q0nxUHh5Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_q0w7QHh5Ed-ECKyh8Dg6Wg" name="doExecuteWithResult" visibility="protected">
+ <ownedParameter xmi:id="_q0w7QXh5Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_q06sQHh5Ed-ECKyh8Dg6Wg" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_q1EdQHh5Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_q1NnMHh5Ed-ECKyh8Dg6Wg" name="doRedoWithResult" visibility="protected">
+ <ownedParameter xmi:id="_q1NnMXh5Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_q1XYMHh5Ed-ECKyh8Dg6Wg" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_q1giIHh5Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_q1qTIHh5Ed-ECKyh8Dg6Wg" name="doUndoWithResult" visibility="protected">
+ <ownedParameter xmi:id="_q1qTIXh5Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_q19OEHh5Ed-ECKyh8Dg6Wg" name="progressMonitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_q2G_EHh5Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_q2QwEHh5Ed-ECKyh8Dg6Wg" name="canExecute" visibility="public">
+ <ownedParameter xmi:id="_q2QwEXh5Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_q2Z6AHh5Ed-ECKyh8Dg6Wg" name="canUndo" visibility="public">
+ <ownedParameter xmi:id="_q2Z6AXh5Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_q2jrAHh5Ed-ECKyh8Dg6Wg" name="canRedo" visibility="public">
+ <ownedParameter xmi:id="_q2jrAXh5Ed-ECKyh8Dg6Wg" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_q2s08Hh5Ed-ECKyh8Dg6Wg" name="getAffectedFiles" visibility="public">
+ <ownedParameter xmi:id="_q22l8Hh5Ed-ECKyh8Dg6Wg" type="_QJNf43OxEd-nKvj-XTCBkg" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_q3Jg4Hh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_q3AW8Hh5Ed-ECKyh8Dg6Wg"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_q3TR4Hh5Ed-ECKyh8Dg6Wg" name="recomputeContexts" visibility="private">
+ <ownedComment xmi:id="_q3TR4Xh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Propagates the contexts from my wrapped command.
+ </body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:id="_q3dC4Hh5Ed-ECKyh8Dg6Wg" name="addContext" visibility="public">
+ <ownedComment xmi:id="_q3dC4Xh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Adds the context to my wrapped command.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_q3dC4nh5Ed-ECKyh8Dg6Wg" name="context" type="_fXdLoXOxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_q3mM0Hh5Ed-ECKyh8Dg6Wg" name="removeContext" visibility="public">
+ <ownedComment xmi:id="_q3mM0Xh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Removes the context from my wrapped command.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_q3v90Hh5Ed-ECKyh8Dg6Wg" name="context" type="_fXdLoXOxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_q35HwHh5Ed-ECKyh8Dg6Wg" name="dispose" visibility="public"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_q5PLkHh5Ed-ECKyh8Dg6Wg" name="SetBoundsCommand">
+ <ownedComment xmi:id="_q5PLkXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * A command to set the bounds (location/size) of a &lt;code>View&lt;/code>
+ *
+ * @author melaasar
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_q5Y8kHh5Ed-ECKyh8Dg6Wg" general="_huFo1HPSEd-NtftfyF3YZw"/>
+ <ownedAttribute xmi:id="_q5Y8kXh5Ed-ECKyh8Dg6Wg" name="adapter" visibility="private" type="_fXmVm3OxEd-nKvj-XTCBkg" isUnique="false"/>
+ <ownedAttribute xmi:id="_q5r3gHh5Ed-ECKyh8Dg6Wg" name="location" visibility="private" type="_pJLjMXh5Ed-ECKyh8Dg6Wg" isUnique="false"/>
+ <ownedAttribute xmi:id="_q5-ycXh5Ed-ECKyh8Dg6Wg" name="size" visibility="private" type="_q5-ycHh5Ed-ECKyh8Dg6Wg" isUnique="false"/>
+ <ownedOperation xmi:id="_q6RtYHh5Ed-ECKyh8Dg6Wg" name="doExecuteWithResult" visibility="protected">
+ <ownedParameter xmi:id="_q6RtYXh5Ed-ECKyh8Dg6Wg" type="_HLIlAnPGEd-bh5e9e7eOjw" direction="return"/>
+ <ownedParameter xmi:id="_q6beYHh5Ed-ECKyh8Dg6Wg" name="monitor" type="_fXmVmnOxEd-nKvj-XTCBkg"/>
+ <ownedParameter xmi:id="_q6lPYHh5Ed-ECKyh8Dg6Wg" name="info" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_q6lPYXh5Ed-ECKyh8Dg6Wg" name="getAffectedFiles" visibility="public">
+ <ownedParameter xmi:id="_q6uZUHh5Ed-ECKyh8Dg6Wg" type="_QJNf43OxEd-nKvj-XTCBkg" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_q7B7UHh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_q64KUHh5Ed-ECKyh8Dg6Wg"/>
+ </ownedParameter>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_q8hJEHh5Ed-ECKyh8Dg6Wg" name="SetViewMutabilityCommand">
+ <ownedComment xmi:id="_q8qTAHh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Command that sets the view's mutability. if a view is Mutability state is used
+ * by the Diagram Listener to decide if a view can move from the transient childern
+ * list of its container to the persisted list. so a mutable view will never be persisted
+ * keep in mind that the mutability state of the view is a transient state so as soon as the
+ * model is closed and opened again all views will be immutable.
+ * @author mhanner
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_q8qTAXh5Ed-ECKyh8Dg6Wg" general="_dahWcHc2Ed-96YWU42lBhw"/>
+ <ownedAttribute xmi:id="_q80EAHh5Ed-ECKyh8Dg6Wg" name="_viewAdapters" visibility="private" type="_QJNf43OxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_q891AHh5Ed-ECKyh8Dg6Wg">
+ <body> cached non-persisted views. </body>
+ </ownedComment>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_q9Qv8Hh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_q9G-8Hh5Ed-ECKyh8Dg6Wg"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_q9Qv8Xh5Ed-ECKyh8Dg6Wg" name="_immutable" visibility="private" type="_QJqLwnOxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_q9jq4Hh5Ed-ECKyh8Dg6Wg">
+ <body> immutable flag. </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_q9jq4Xh5Ed-ECKyh8Dg6Wg" name="makeMutable" visibility="public" isStatic="true">
+ <ownedComment xmi:id="_q9jq4nh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Convenience method returning a command to make the supplied views mutable.
+ * @param viewAdapters views to be associated with the command
+ * @return &lt;code>SetViewMutabilityCommand&lt;/code>
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_q92l0Hh5Ed-ECKyh8Dg6Wg" type="_q8hJEHh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ <ownedParameter xmi:id="_q92l0Xh5Ed-ECKyh8Dg6Wg" name="viewAdapters" type="_QJNf43OxEd-nKvj-XTCBkg">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_q-TRwHh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_q-AW0Hh5Ed-ECKyh8Dg6Wg"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_q-TRwXh5Ed-ECKyh8Dg6Wg" name="makeMutable" visibility="public" isStatic="true">
+ <ownedComment xmi:id="_q-TRwnh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Convenience method returning a command to make the supplied view mutable.
+ * @param viewAdapter view to be associated with the command
+ * @return &lt;code>SetViewMutabilityCommand&lt;/code>
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_q-mzwHh5Ed-ECKyh8Dg6Wg" type="_q8hJEHh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ <ownedParameter xmi:id="_q-v9sHh5Ed-ECKyh8Dg6Wg" name="viewAdapter" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_q-5usHh5Ed-ECKyh8Dg6Wg" name="makeImmutable" visibility="public" isStatic="true">
+ <ownedComment xmi:id="_q-5usXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Convenience method returning a command to make the supplied views immutable.
+ * @param viewAdapters views to be associated with the command
+ * @return &lt;code>SetViewMutabilityCommand&lt;/code>
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_q_C4oHh5Ed-ECKyh8Dg6Wg" type="_q8hJEHh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ <ownedParameter xmi:id="_q_MpoHh5Ed-ECKyh8Dg6Wg" name="viewAdapters" type="_QJNf43OxEd-nKvj-XTCBkg">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_q_WaoXh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_q_WaoHh5Ed-ECKyh8Dg6Wg"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_q_fkkHh5Ed-ECKyh8Dg6Wg" name="makeImmutable" visibility="public" isStatic="true">
+ <ownedComment xmi:id="_q_fkkXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Convenience method returning a command to make the supplied view immutable.
+ * @param viewAdapter views to be associated with the command
+ * @return &lt;code>SetViewMutabilityCommand&lt;/code>
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_q_zGkHh5Ed-ECKyh8Dg6Wg" type="_q8hJEHh5Ed-ECKyh8Dg6Wg" direction="return"/>
+ <ownedParameter xmi:id="_q_zGkXh5Ed-ECKyh8Dg6Wg" name="viewAdapter" type="_fXmVm3OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_q_8QgHh5Ed-ECKyh8Dg6Wg" name="getViewAdapters" visibility="protected">
+ <ownedComment xmi:id="_q_8QgXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * gets an unmodifiable copy of the cached view adapters.
+ * @return view adapters
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_rAGBgHh5Ed-ECKyh8Dg6Wg" type="_QJNf43OxEd-nKvj-XTCBkg" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rAY8cHh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rAPLcHh5Ed-ECKyh8Dg6Wg"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_rAitcHh5Ed-ECKyh8Dg6Wg" name="execute" visibility="public"/>
+ <ownedOperation xmi:id="_rAitcXh5Ed-ECKyh8Dg6Wg" name="setMutability" visibility="private">
+ <ownedComment xmi:id="_rAitcnh5Ed-ECKyh8Dg6Wg">
+ <body> Set the mutability flag on all views. </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_rAr3YHh5Ed-ECKyh8Dg6Wg" name="immutable" type="_QJqLwnOxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_rA1oYHh5Ed-ECKyh8Dg6Wg" name="getAffectedObjects" visibility="public">
+ <ownedComment xmi:id="_rA1oYXh5Ed-ECKyh8Dg6Wg">
+ <body>
+ * Returns the view that would be affected if this
+ * command were executed, undone, or redone.
+ * @return views adapter Collection
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_rA_ZYHh5Ed-ECKyh8Dg6Wg" type="_vhKCKncqEd-96YWU42lBhw" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rBSUUHh5Ed-ECKyh8Dg6Wg" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rBIjUHh5Ed-ECKyh8Dg6Wg"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_rBbeQHh5Ed-ECKyh8Dg6Wg" name="redo" visibility="public"/>
+ <ownedOperation xmi:id="_rBbeQXh5Ed-ECKyh8Dg6Wg" name="undo" visibility="public"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_osHzwHh5Ed-ECKyh8Dg6Wg" name="internal">
+ <packagedElement xmi:type="uml:Package" xmi:id="_osRkwHh5Ed-ECKyh8Dg6Wg" name="services">
+ <packagedElement xmi:type="uml:Package" xmi:id="_osRkwXh5Ed-ECKyh8Dg6Wg" name="layout">
+ <packagedElement xmi:type="uml:Class" xmi:id="_osRkwnh5Ed-ECKyh8Dg6Wg" name="LayoutNode"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_o_MgwHh5Ed-ECKyh8Dg6Wg" name="commands">
+ <packagedElement xmi:type="uml:Class" xmi:id="_o_WRwHh5Ed-ECKyh8Dg6Wg" name="ElementTypeLabelProvider"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_pzgSkHh5Ed-ECKyh8Dg6Wg" name="ClipboardCommand"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_otwygXh5Ed-ECKyh8Dg6Wg" name="editparts">
+ <packagedElement xmi:type="uml:Interface" xmi:id="_ot6jgHh5Ed-ECKyh8Dg6Wg" name="IGraphicalEditPart"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_p7ZqUHh5Ed-ECKyh8Dg6Wg" name="menus">
+ <packagedElement xmi:type="uml:Class" xmi:id="_p7ZqUXh5Ed-ECKyh8Dg6Wg" name="PopupMenu"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_pKqw8Hh5Ed-ECKyh8Dg6Wg" name="core">
+ <packagedElement xmi:type="uml:Package" xmi:id="_pKqw8Xh5Ed-ECKyh8Dg6Wg" name="preferences">
+ <packagedElement xmi:type="uml:Class" xmi:id="_pK0h8Hh5Ed-ECKyh8Dg6Wg" name="PreferencesHint"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_qzuZcXh5Ed-ECKyh8Dg6Wg" name="edithelpers">
+ <packagedElement xmi:type="uml:Class" xmi:id="_qz4KcHh5Ed-ECKyh8Dg6Wg" name="CreateElementRequestAdapter"/>
+ </packagedElement>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_o6IakHh5Ed-ECKyh8Dg6Wg" name="notation">
+ <packagedElement xmi:type="uml:Class" xmi:id="_o6IakXh5Ed-ECKyh8Dg6Wg" name="View"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p2CCIHh5Ed-ECKyh8Dg6Wg" name="MeasurementUnit"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_p3OU8Hh5Ed-ECKyh8Dg6Wg" name="Node"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_p0i0YHh5Ed-ECKyh8Dg6Wg" name="draw2d">
+ <packagedElement xmi:type="uml:Package" xmi:id="_p0i0YXh5Ed-ECKyh8Dg6Wg" name="ui">
+ <packagedElement xmi:type="uml:Package" xmi:id="_p0i0Ynh5Ed-ECKyh8Dg6Wg" name="mapmode">
+ <packagedElement xmi:type="uml:Interface" xmi:id="_p0slYHh5Ed-ECKyh8Dg6Wg" name="IMapMode"/>
+ </packagedElement>
+ </packagedElement>
+ </packagedElement>
+ </packagedElement>
+ </packagedElement>
+ </packagedElement>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Model" xmi:id="_ofr8UHUuEd-R54hgjGwYvw" name="emf">
+ <packagedElement xmi:type="uml:Package" xmi:id="_5f8UcHPSEd-NtftfyF3YZw" name="org">
+ <packagedElement xmi:type="uml:Package" xmi:id="_5f8UcXPSEd-NtftfyF3YZw" name="eclipse">
+ <packagedElement xmi:type="uml:Package" xmi:id="_5f8UcnPSEd-NtftfyF3YZw" name="emf">
+ <packagedElement xmi:type="uml:Package" xmi:id="_5gr7WHPSEd-NtftfyF3YZw" name="common">
+ <packagedElement xmi:type="uml:Package" xmi:id="_5gr7WXPSEd-NtftfyF3YZw" name="command">
+ <packagedElement xmi:type="uml:Interface" xmi:id="_vowe8HcqEd-96YWU42lBhw" name="Command">
+ <ownedComment xmi:id="_vpNK4HcqEd-96YWU42lBhw">
+ <body>
+ * An interface that every command is expected to support.
+ * A command can be tested for executability,
+ * it can be executed,
+ * it can be tested for undoability,
+ * it can be undone,
+ * and can then be redone.
+ * A command also provides access to a result collection, an affected-objects collection,
+ * a label, and a description.
+ *
+ * &lt;p>
+ * There are important constraints on the valid order in which the various methods may be invoked,
+ * e.g., you cannot ask for the result before you've executed the command.
+ * These constraints are documented with the various methods.
+ </body>
+ </ownedComment>
+ <ownedOperation xmi:id="_vpNK4XcqEd-96YWU42lBhw" name="canExecute">
+ <ownedComment xmi:id="_vpNK4ncqEd-96YWU42lBhw">
+ <body>
+ * Returns whether the command is valid to &lt;code>execute&lt;/code>.
+ * The {@link UnexecutableCommand#INSTANCE}.&lt;code>canExecute()&lt;/code> always returns &lt;code>false&lt;/code>.
+ * This &lt;b>must&lt;/b> be called before calling &lt;code>execute&lt;/code>.
+ * @return whether the command is valid to &lt;code>execute&lt;/code>.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vpWU0HcqEd-96YWU42lBhw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vpWU0XcqEd-96YWU42lBhw" name="execute">
+ <ownedComment xmi:id="_vpWU0ncqEd-96YWU42lBhw">
+ <body>
+ * Performs the command activity required for the effect.
+ * The effect of calling &lt;code>execute&lt;/code> when &lt;code>canExecute&lt;/code> returns &lt;code>false&lt;/code>,
+ * or when &lt;code>canExecute&lt;/code> hasn't been called, is undefined.
+ </body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vpWU03cqEd-96YWU42lBhw" name="canUndo">
+ <ownedComment xmi:id="_vpWU1HcqEd-96YWU42lBhw">
+ <body>
+ * Returns whether the command can be undone.
+ * The result of calling this before &lt;code>execute&lt;/code> is well defined,
+ * but the result of calling this before calling &lt;code>canExecute&lt;/code> is undefined, i.e.,
+ * a command that returns &lt;code>false&lt;/code> for &lt;code>canExecute&lt;/code> may return &lt;code>true&lt;/code> for canUndo,
+ * even though that is a contradiction.
+ * @return whether the command can be undone.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vpWU1XcqEd-96YWU42lBhw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vpWU1ncqEd-96YWU42lBhw" name="undo">
+ <ownedComment xmi:id="_vpWU13cqEd-96YWU42lBhw">
+ <body>
+ * Performs the command activity required to &lt;code>undo&lt;/code> the effects of a preceding &lt;code>execute&lt;/code> (or &lt;code>redo&lt;/code>).
+ * The effect, if any, of calling &lt;code>undo&lt;/code> before &lt;code>execute&lt;/code> or &lt;code>redo&lt;/code> have been called,
+ * or when canUndo returns &lt;code>false&lt;/code>, is undefined.
+ </body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vpWU2HcqEd-96YWU42lBhw" name="redo">
+ <ownedComment xmi:id="_vpWU2XcqEd-96YWU42lBhw">
+ <body>
+ * Performs the command activity required to &lt;code>redo&lt;/code> the effect after undoing the effect.
+ * The effect, if any, of calling &lt;code>redo&lt;/code> before &lt;code>undo&lt;/code> is called is undefined.
+ * Note that if you implement &lt;code>redo&lt;/code> to call &lt;code>execute&lt;/code>
+ * then any derived class will be restricted by that decision also.
+ </body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vpWU2ncqEd-96YWU42lBhw" name="getResult">
+ <ownedComment xmi:id="_vpWU23cqEd-96YWU42lBhw">
+ <body>
+ * Returns a collection of things which this command wishes to present as it's result.
+ * The result of calling this before an &lt;code>execute&lt;/code> or &lt;code>redo&lt;/code>, or after an &lt;code>undo&lt;/code>, is undefined.
+ * @return a collection of things which this command wishes to present as it's result.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vpWU3HcqEd-96YWU42lBhw" type="_vhKCKncqEd-96YWU42lBhw" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vpgF0HcqEd-96YWU42lBhw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vpWU3XcqEd-96YWU42lBhw"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vpgF0XcqEd-96YWU42lBhw" name="getAffectedObjects">
+ <ownedComment xmi:id="_vpgF0ncqEd-96YWU42lBhw">
+ <body>
+ * Returns the collection of things which this command wishes to present as the objects affected by the command.
+ * Typically should could be used as the selection that should be highlighted to best illustrate the effect of the command.
+ * The result of calling this before an &lt;code>execute&lt;/code>, &lt;code>redo&lt;/code>, or &lt;code>undo&lt;/code> is undefined.
+ * The result may be different after an &lt;code>undo&lt;/code> than it is after an &lt;code>execute&lt;/code> or &lt;code>redo&lt;/code>,
+ * but the result should be the same (equivalent) after either an &lt;code>execute&lt;/code> or &lt;code>redo&lt;/code>.
+ * @return the collection of things which this command wishes to present as the objects affected by the command.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vpgF03cqEd-96YWU42lBhw" type="_vhKCKncqEd-96YWU42lBhw" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vpgF1XcqEd-96YWU42lBhw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vpgF1HcqEd-96YWU42lBhw"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vpgF1ncqEd-96YWU42lBhw" name="getLabel">
+ <ownedComment xmi:id="_vpgF13cqEd-96YWU42lBhw">
+ <body>
+ * Returns a string suitable to represent the label that identifies this command.
+ * @return a string suitable to represent the label that identifies this command.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vpgF2HcqEd-96YWU42lBhw" type="_QJNf73OxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vpgF2XcqEd-96YWU42lBhw" name="getDescription">
+ <ownedComment xmi:id="_vpgF2ncqEd-96YWU42lBhw">
+ <body>
+ * Returns a string suitable to help describe the effect of this command.
+ * @return a string suitable to help describe the effect of this command.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vpp20HcqEd-96YWU42lBhw" type="_QJNf73OxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vpp20XcqEd-96YWU42lBhw" name="dispose">
+ <ownedComment xmi:id="_vpp20ncqEd-96YWU42lBhw">
+ <body>
+ * Called to indicate that the command will never be used again.
+ * Calling any other method after this one has undefined results.
+ </body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vpp203cqEd-96YWU42lBhw" name="chain">
+ <ownedComment xmi:id="_vpp21HcqEd-96YWU42lBhw">
+ <body>
+ * Returns a command that represents the composition of this command with the given command.
+ * The resulting command may just be this, if this command is capable of composition.
+ * Otherwise, it will be a new command created to compose the two.
+ * &lt;p>
+ * Instead of the following pattern of usage
+ * &lt;pre>
+ * Command result = x;
+ * if (condition) result = result.chain(y);
+ * &lt;/pre>
+ * you should consider using a {@link org.eclipse.emf.common.command.CompoundCommand}
+ * and using {@link org.eclipse.emf.common.command.CompoundCommand#unwrap()} to optimize the result:
+ * &lt;pre>
+ * CompoundCommand subcommands = new CompoundCommand();
+ * subcommands.append(x);
+ * if (condition) subcommands.append(y);
+ * Command result = subcommands.unwrap();
+ * &lt;/pre>
+ * This gives you more control over how the compound command composes it's result and affected objects.
+ * @param command the command to chain.
+ * @return a command that represents the composition of this command with the given command.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vpp21XcqEd-96YWU42lBhw" type="_vowe8HcqEd-96YWU42lBhw" direction="return"/>
+ <ownedParameter xmi:id="_vpp21ncqEd-96YWU42lBhw" name="command" type="_vowe8HcqEd-96YWU42lBhw"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_vc_T0HcqEd-96YWU42lBhw" name="AbortExecutionException">
+ <ownedComment xmi:id="_vc_T0XcqEd-96YWU42lBhw">
+ <body>
+ * An exception thrown when a command's {@link Command#execute() execution} is to be silently aborted.
+ * This is a signal to the command stack to behave as if {@link Command#canExecute() canExecute} returned &lt;code>false&lt;/code>.
+ * Only a command that has not changed the state of the model should be aborted in this way.
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_vdSOwHcqEd-96YWU42lBhw" general="_vdIdwHcqEd-96YWU42lBhw"/>
+ <ownedAttribute xmi:id="_vd4EoHcqEd-96YWU42lBhw" name="serialVersionUID" visibility="private" isLeaf="true" isStatic="true" type="_vdu6sHcqEd-96YWU42lBhw" isUnique="false"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_vdIdwHcqEd-96YWU42lBhw" name="RuntimeException"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_vgkMQHcqEd-96YWU42lBhw" name="AbstractCommand" clientDependency="_vgtWMXcqEd-96YWU42lBhw" isAbstract="true">
+ <ownedComment xmi:id="_vgtWMHcqEd-96YWU42lBhw">
+ <body>
+ * An abstract implementation of a basic command.
+ * Each derived class &lt;bold>must&lt;/bold> implement {@link Command#execute} and {@link Command#redo},
+ * &lt;bold>must&lt;/bold> either implement {@link #undo} or implement {@link #canUndo} to return false,
+ * and &lt;bold>must&lt;/bold> either override {@link #prepare} (this is the preferred approach) or can override {@link #canExecute} directly.
+ *
+ * &lt;p>
+ * It is very convenient to use prepare, as it is guaranteed to be called only once just before canExecute is to be tested.
+ * It can be implemented to create any additional commands that need to be executed,
+ * and the result it yields becomes the permanent cached return value for canExecute.
+ *
+ </body>
+ </ownedComment>
+ <ownedAttribute xmi:id="_vgtWMncqEd-96YWU42lBhw" name="isPrepared" visibility="protected" type="_QJqLwnOxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_vg3HMHcqEd-96YWU42lBhw">
+ <body>
+ * Keeps track of whether prepare needs to be called.
+ * It is tested in {@link #canExecute} so that {@link #prepare} is called exactly once to ready the command for execution.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_vg3HMXcqEd-96YWU42lBhw" name="isExecutable" visibility="protected" type="_QJqLwnOxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_vg3HMncqEd-96YWU42lBhw">
+ <body>
+ * Keeps track of whether the command is executable.
+ * It is set in {@link #canExecute} to the result of calling {@link #prepare}.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_vhARIHcqEd-96YWU42lBhw" name="description" visibility="protected" type="_QJNf73OxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_vhARIXcqEd-96YWU42lBhw">
+ <body>
+ * Holds a short textual description of the command
+ * as returned by {@link #getDescription} and set by {@link #setDescription}.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_vhARIncqEd-96YWU42lBhw" name="label" visibility="protected" type="_QJNf73OxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_vhARI3cqEd-96YWU42lBhw">
+ <body>
+ * Holds the label of the command as returned by {@link #getLabel} and set by {@link #setLabel}.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <nestedClassifier xmi:type="uml:Interface" xmi:id="_viDaBXcqEd-96YWU42lBhw" name="NonDirtying">
+ <ownedComment xmi:id="_viDaBncqEd-96YWU42lBhw">
+ <body>
+ * A marker interface implemented by commands that don't dirty the model.
+ </body>
+ </ownedComment>
+ </nestedClassifier>
+ <ownedOperation xmi:id="_vhARJHcqEd-96YWU42lBhw" name="prepare" visibility="protected">
+ <ownedComment xmi:id="_vhARJXcqEd-96YWU42lBhw">
+ <body>
+ * Called at most once in {@link #canExecute} to give the command an opportunity to ready itself for execution.
+ * The returned value is stored in {@link #canExecute}.
+ * In other words, you can override this method to initialize
+ * and to yield a cached value for the all subsequent calls to canExecute.
+ * @return whether the command is executable.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vhARJncqEd-96YWU42lBhw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vhKCIHcqEd-96YWU42lBhw" name="canExecute" visibility="public">
+ <ownedComment xmi:id="_vhKCIXcqEd-96YWU42lBhw">
+ <body>
+ * Calls {@link #prepare},
+ * caches the result in {@link #isExecutable},
+ * and sets {@link #isPrepared} to &lt;code>true&lt;/code>;
+ * from then on, it will yield the value of isExecutable.
+ * @return whether the command can execute.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vhKCIncqEd-96YWU42lBhw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vhKCI3cqEd-96YWU42lBhw" name="canUndo" visibility="public">
+ <ownedComment xmi:id="_vhKCJHcqEd-96YWU42lBhw">
+ <body>
+ * Returns &lt;code>true&lt;/code> because most command should be undoable.
+ * @return &lt;code>true&lt;/code>.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vhKCJXcqEd-96YWU42lBhw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vhKCJncqEd-96YWU42lBhw" name="undo" visibility="public">
+ <ownedComment xmi:id="_vhKCJ3cqEd-96YWU42lBhw">
+ <body>
+ * Throws a runtime exception.
+ * @exception UnsupportedOperationException always.
+ </body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vhKCKHcqEd-96YWU42lBhw" name="getResult" visibility="public">
+ <ownedComment xmi:id="_vhKCKXcqEd-96YWU42lBhw">
+ <body>
+ * Returns an empty list.
+ * @return an empty list.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vhKCK3cqEd-96YWU42lBhw" type="_vhKCKncqEd-96YWU42lBhw" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vhTzIXcqEd-96YWU42lBhw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vhTzIHcqEd-96YWU42lBhw"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vhTzIncqEd-96YWU42lBhw" name="getAffectedObjects" visibility="public">
+ <ownedComment xmi:id="_vhTzI3cqEd-96YWU42lBhw">
+ <body>
+ * Returns an empty list.
+ * @return an empty list.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vhTzJHcqEd-96YWU42lBhw" type="_vhKCKncqEd-96YWU42lBhw" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vhTzJncqEd-96YWU42lBhw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vhTzJXcqEd-96YWU42lBhw"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vhTzJ3cqEd-96YWU42lBhw" name="getLabel" visibility="public">
+ <ownedParameter xmi:id="_vhTzKHcqEd-96YWU42lBhw" type="_QJNf73OxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vh5pAHcqEd-96YWU42lBhw" name="setLabel" visibility="public">
+ <ownedComment xmi:id="_vh5pAXcqEd-96YWU42lBhw">
+ <body>
+ * Sets the label after construction.
+ * @param label the new label.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vh5pAncqEd-96YWU42lBhw" name="label" type="_QJNf73OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vh5pA3cqEd-96YWU42lBhw" name="getDescription" visibility="public">
+ <ownedParameter xmi:id="_vh5pBHcqEd-96YWU42lBhw" type="_QJNf73OxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vh5pBXcqEd-96YWU42lBhw" name="setDescription" visibility="public">
+ <ownedComment xmi:id="_vh5pBncqEd-96YWU42lBhw">
+ <body>
+ * Sets the description after construction.
+ * @param description the new description.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vh5pB3cqEd-96YWU42lBhw" name="description" type="_QJNf73OxEd-nKvj-XTCBkg"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vh5pCHcqEd-96YWU42lBhw" name="chain" visibility="public">
+ <ownedComment xmi:id="_vh5pCXcqEd-96YWU42lBhw">
+ <body>
+ * Creates a new compound command, containing this command and the given command,
+ * that delegates chain to {@link CompoundCommand#append}.
+ * @param command the command to chain with this one.
+ * @return a new chained compound command.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vh5pCncqEd-96YWU42lBhw" type="_vowe8HcqEd-96YWU42lBhw" direction="return"/>
+ <ownedParameter xmi:id="_viDaAHcqEd-96YWU42lBhw" name="command" type="_vowe8HcqEd-96YWU42lBhw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_viDaAXcqEd-96YWU42lBhw" name="dispose" visibility="public"/>
+ <ownedOperation xmi:id="_viDaAncqEd-96YWU42lBhw" name="toString" visibility="public">
+ <ownedComment xmi:id="_viDaA3cqEd-96YWU42lBhw">
+ <body>
+ * Returns an abbreviated name using this object's own class' name, without package qualification,
+ * followed by a space separated list of &lt;tt>field:value&lt;/tt> pairs.
+ * @return string representation.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_viDaBHcqEd-96YWU42lBhw" type="_QJNf73OxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Realization" xmi:id="_vgtWMXcqEd-96YWU42lBhw" name="AbstractCommand extends Command" supplier="_vowe8HcqEd-96YWU42lBhw" client="_vgkMQHcqEd-96YWU42lBhw"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_vmE-YHcqEd-96YWU42lBhw" name="BasicCommandStack" clientDependency="_vmE-Y3cqEd-96YWU42lBhw">
+ <ownedComment xmi:id="_vmE-YXcqEd-96YWU42lBhw">
+ <body>
+ * A basic and obvious implementation of an undoable stack of commands.
+ * See {@link Command} for more details about the command methods that this implementation uses.
+ </body>
+ </ownedComment>
+ <ownedAttribute xmi:id="_vmE-ZHcqEd-96YWU42lBhw" name="commandList" visibility="protected" type="_vowe8HcqEd-96YWU42lBhw" isUnique="false">
+ <ownedComment xmi:id="_vmE-ZXcqEd-96YWU42lBhw">
+ <body>
+ * The list of commands.
+ </body>
+ </ownedComment>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vmE-Z3cqEd-96YWU42lBhw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vmE-ZncqEd-96YWU42lBhw"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_vmE-aHcqEd-96YWU42lBhw" name="top" visibility="protected" type="_QJqLxnOxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_vmOIUHcqEd-96YWU42lBhw">
+ <body>
+ * The current position within the list from which the next execute, undo, or redo, will be performed.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_vmOIUXcqEd-96YWU42lBhw" name="mostRecentCommand" visibility="protected" type="_vowe8HcqEd-96YWU42lBhw" isUnique="false">
+ <ownedComment xmi:id="_vmOIUncqEd-96YWU42lBhw">
+ <body>
+ * The command most recently executed, undone, or redone.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_vmOIVHcqEd-96YWU42lBhw" name="listeners" visibility="protected" type="_vsyDUHcqEd-96YWU42lBhw" isUnique="false">
+ <ownedComment xmi:id="_vmOIVXcqEd-96YWU42lBhw">
+ <body>
+ * The {@link CommandStackListener}s.
+ </body>
+ </ownedComment>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vmX5UXcqEd-96YWU42lBhw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vmX5UHcqEd-96YWU42lBhw"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_vmX5UncqEd-96YWU42lBhw" name="saveIndex" visibility="protected" type="_QJqLxnOxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_vmX5U3cqEd-96YWU42lBhw">
+ <body>
+ * The value of {@link #top} when {@link #saveIsDone} is called.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_vmX5VHcqEd-96YWU42lBhw" name="execute" visibility="public">
+ <ownedParameter xmi:id="_vmhqUHcqEd-96YWU42lBhw" name="command" type="_vowe8HcqEd-96YWU42lBhw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vmhqUXcqEd-96YWU42lBhw" name="canUndo" visibility="public">
+ <ownedParameter xmi:id="_vmhqUncqEd-96YWU42lBhw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vmhqU3cqEd-96YWU42lBhw" name="undo" visibility="public"/>
+ <ownedOperation xmi:id="_vmhqVHcqEd-96YWU42lBhw" name="canRedo" visibility="public">
+ <ownedParameter xmi:id="_vmhqVXcqEd-96YWU42lBhw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vmhqVncqEd-96YWU42lBhw" name="redo" visibility="public"/>
+ <ownedOperation xmi:id="_vmhqV3cqEd-96YWU42lBhw" name="flush" visibility="public"/>
+ <ownedOperation xmi:id="_vmhqWHcqEd-96YWU42lBhw" name="getUndoCommand" visibility="public">
+ <ownedParameter xmi:id="_vmhqWXcqEd-96YWU42lBhw" type="_vowe8HcqEd-96YWU42lBhw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vmq0QHcqEd-96YWU42lBhw" name="getRedoCommand" visibility="public">
+ <ownedParameter xmi:id="_vmq0QXcqEd-96YWU42lBhw" type="_vowe8HcqEd-96YWU42lBhw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vmq0QncqEd-96YWU42lBhw" name="getMostRecentCommand" visibility="public">
+ <ownedParameter xmi:id="_vmq0Q3cqEd-96YWU42lBhw" type="_vowe8HcqEd-96YWU42lBhw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vmq0RHcqEd-96YWU42lBhw" name="addCommandStackListener" visibility="public">
+ <ownedParameter xmi:id="_vmq0RXcqEd-96YWU42lBhw" name="listener" type="_vsyDUHcqEd-96YWU42lBhw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vmq0RncqEd-96YWU42lBhw" name="removeCommandStackListener" visibility="public">
+ <ownedParameter xmi:id="_vm0lQHcqEd-96YWU42lBhw" name="listener" type="_vsyDUHcqEd-96YWU42lBhw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vm0lQXcqEd-96YWU42lBhw" name="notifyListeners" visibility="protected">
+ <ownedComment xmi:id="_vm0lQncqEd-96YWU42lBhw">
+ <body>
+ * This is called to ensure that {@link CommandStackListener#commandStackChanged} is called for each listener.
+ </body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vm0lRHcqEd-96YWU42lBhw" name="handleError" visibility="protected">
+ <ownedComment xmi:id="_vm0lRXcqEd-96YWU42lBhw">
+ <body>
+ * Handles an exception thrown during command execution by logging it with the plugin.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vm0lRncqEd-96YWU42lBhw" name="exception" type="_vm0lQ3cqEd-96YWU42lBhw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vm0lR3cqEd-96YWU42lBhw" name="saveIsDone" visibility="public">
+ <ownedComment xmi:id="_vm0lSHcqEd-96YWU42lBhw">
+ <body>
+ * Called after a save has been successfully performed.
+ </body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vm0lSXcqEd-96YWU42lBhw" name="isSaveNeeded" visibility="public">
+ <ownedComment xmi:id="_vm0lSncqEd-96YWU42lBhw">
+ <body>
+ * Returns whether the model has changes since {@link #saveIsDone} was call the last.
+ * @return whether the model has changes since &lt;code>saveIsDone&lt;/code> was call the last.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vm9vMHcqEd-96YWU42lBhw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Interface" xmi:id="_vmE-YncqEd-96YWU42lBhw" name="CommandStack">
+ <ownedComment xmi:id="_vq2JoHcqEd-96YWU42lBhw">
+ <body>
+ * A simple and obvious interface for an undoable stack of commands with a listener.
+ * See {@link Command} for more details about the command methods that this implementation uses
+ * and {@link CommandStackListener} for details about the listener.
+ </body>
+ </ownedComment>
+ <ownedOperation xmi:id="_vq2JoXcqEd-96YWU42lBhw" name="execute">
+ <ownedComment xmi:id="_vq2JoncqEd-96YWU42lBhw">
+ <body>
+ * Clears any redoable commands not yet redone, adds the command, and then executes the command.
+ * @param command the command to execute.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vq2Jo3cqEd-96YWU42lBhw" name="command" type="_vowe8HcqEd-96YWU42lBhw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vq2JpHcqEd-96YWU42lBhw" name="canUndo">
+ <ownedComment xmi:id="_vq2JpXcqEd-96YWU42lBhw">
+ <body>
+ * Returns whether the top command on the stack can be undone.
+ * @return whether the top command on the stack can be undone.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vq_TkHcqEd-96YWU42lBhw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vq_TkXcqEd-96YWU42lBhw" name="undo">
+ <ownedComment xmi:id="_vq_TkncqEd-96YWU42lBhw">
+ <body>
+ * Moves the top of the stack down, undoing what was formerly the top command.
+ </body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vq_Tk3cqEd-96YWU42lBhw" name="canRedo">
+ <ownedComment xmi:id="_vq_TlHcqEd-96YWU42lBhw">
+ <body>
+ * Returns whether there are commands past the top of the stack that can be redone.
+ * @return whether there are commands past the top of the stack that can be redone.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vq_TlXcqEd-96YWU42lBhw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vq_TlncqEd-96YWU42lBhw" name="getUndoCommand" visibility="public">
+ <ownedComment xmi:id="_vq_Tl3cqEd-96YWU42lBhw">
+ <body>
+ * Returns the command that will be undone if {@link #undo} is called.
+ * @return the command that will be undone if {@link #undo} is called.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vq_TmHcqEd-96YWU42lBhw" type="_vowe8HcqEd-96YWU42lBhw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vq_TmXcqEd-96YWU42lBhw" name="getRedoCommand" visibility="public">
+ <ownedComment xmi:id="_vq_TmncqEd-96YWU42lBhw">
+ <body>
+ * Returns the command that will be redone if {@link #redo} is called.
+ * @return the command that will be redone if {@link #redo} is called.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vrS1kHcqEd-96YWU42lBhw" type="_vowe8HcqEd-96YWU42lBhw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vrS1kXcqEd-96YWU42lBhw" name="getMostRecentCommand" visibility="public">
+ <ownedComment xmi:id="_vrS1kncqEd-96YWU42lBhw">
+ <body>
+ * Returns the command most recently executed, undone, or redone.
+ * @return the command most recently executed, undone, or redone.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vrS1k3cqEd-96YWU42lBhw" type="_vowe8HcqEd-96YWU42lBhw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vrS1lHcqEd-96YWU42lBhw" name="redo">
+ <ownedComment xmi:id="_vrS1lXcqEd-96YWU42lBhw">
+ <body>
+ * Moves the top of the stack up, redoing the new top command.
+ </body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vrS1lncqEd-96YWU42lBhw" name="flush">
+ <ownedComment xmi:id="_vrS1l3cqEd-96YWU42lBhw">
+ <body>
+ * Disposes all the commands in the stack.
+ </body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vrS1mHcqEd-96YWU42lBhw" name="addCommandStackListener">
+ <ownedComment xmi:id="_vrS1mXcqEd-96YWU42lBhw">
+ <body>
+ * Adds a listener to the command stack, which will be notified whenever a command has been processed on the stack.
+ * @param listener the listener to add.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vrS1mncqEd-96YWU42lBhw" name="listener" type="_vsyDUHcqEd-96YWU42lBhw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vrb_gHcqEd-96YWU42lBhw" name="removeCommandStackListener">
+ <ownedComment xmi:id="_vrb_gXcqEd-96YWU42lBhw">
+ <body>
+ * Removes a listener from the command stack.
+ * @param listener the listener to remove.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vrb_gncqEd-96YWU42lBhw" name="listener" type="_vsyDUHcqEd-96YWU42lBhw"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Realization" xmi:id="_vmE-Y3cqEd-96YWU42lBhw" name="BasicCommandStack extends CommandStack" supplier="_vmE-YncqEd-96YWU42lBhw" client="_vmE-YHcqEd-96YWU42lBhw"/>
+ <packagedElement xmi:type="uml:Interface" xmi:id="_vsyDUHcqEd-96YWU42lBhw" name="CommandStackListener">
+ <ownedComment xmi:id="_vsyDUXcqEd-96YWU42lBhw">
+ <body>
+ * A listener to a {@link org.eclipse.emf.common.command.CommandStack}.
+ </body>
+ </ownedComment>
+ <ownedOperation xmi:id="_vsyDU3cqEd-96YWU42lBhw" name="commandStackChanged">
+ <ownedComment xmi:id="_vsyDVHcqEd-96YWU42lBhw">
+ <body>
+ * Called when the {@link org.eclipse.emf.common.command.CommandStack}'s state has changed.
+ * @param event the event.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vsyDVXcqEd-96YWU42lBhw" name="event" type="_vsyDUncqEd-96YWU42lBhw"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_vthqMHcqEd-96YWU42lBhw" name="CommandWrapper">
+ <ownedComment xmi:id="_vthqMXcqEd-96YWU42lBhw">
+ <body>
+ * A command that wraps another command.
+ * All the {@link Command} methods are delegated to the wrapped command.
+ *
+ * &lt;p>
+ * There are two typical usage patterns.
+ * One typical use for this command is to modify the behaviour of a command that you can't subclass, i.e., a decorator pattern:
+ *&lt;pre>
+ * Command decoratedCommand =
+ * new CommandWrapper(someOtherCommand)
+ * {
+ * public void execute()
+ * {
+ * doSomethingBeforeExecution();
+ * super.execute();
+ * doSomethingAfterExecution();
+ * }
+ * public Collection getResult()
+ * {
+ * return someOtherResult();
+ * }
+ * };
+ *&lt;/pre>
+ * The other typical use is to act as a proxy for a command who's creation is delayed:
+ *&lt;pre>
+ * Command proxyCommand =
+ * new CommandWrapper()
+ * {
+ * public Command createCommand()
+ * {
+ * return createACommandSomehow();
+ * }
+ * };
+ *&lt;/pre>
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_vthqMncqEd-96YWU42lBhw" general="_vgkMQHcqEd-96YWU42lBhw"/>
+ <ownedAttribute xmi:id="_vthqM3cqEd-96YWU42lBhw" name="command" visibility="protected" type="_vowe8HcqEd-96YWU42lBhw" isUnique="false">
+ <ownedComment xmi:id="_vthqNHcqEd-96YWU42lBhw">
+ <body>
+ * The command for which this is a proxy or decorator.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_vthqNXcqEd-96YWU42lBhw" name="getCommand" visibility="public">
+ <ownedComment xmi:id="_vthqNncqEd-96YWU42lBhw">
+ <body>
+ * Returns the command for which this is a proxy or decorator.
+ * This may be &lt;code>null&lt;/code> before {@link #createCommand} is called.
+ * @return the command for which this is a proxy or decorator.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vthqN3cqEd-96YWU42lBhw" type="_vowe8HcqEd-96YWU42lBhw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vtrbMHcqEd-96YWU42lBhw" name="createCommand" visibility="protected">
+ <ownedComment xmi:id="_vtrbMXcqEd-96YWU42lBhw">
+ <body>
+ * Create the command being proxied.
+ * This implementation just return &lt;code>null&lt;/code>.
+ * It is called by {@link #prepare}.
+ * @return the command being proxied.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vtrbMncqEd-96YWU42lBhw" type="_vowe8HcqEd-96YWU42lBhw" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vtrbM3cqEd-96YWU42lBhw" name="prepare" visibility="protected">
+ <ownedComment xmi:id="_vtrbNHcqEd-96YWU42lBhw">
+ <body>
+ * Returns whether the command can execute.
+ * This implementation creates the command being proxied using {@link #createCommand},
+ * if the command wasn't given in the constructor.
+ * @return whether the command can execute.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vtrbNXcqEd-96YWU42lBhw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vt0lIHcqEd-96YWU42lBhw" name="execute" visibility="public">
+ <ownedComment xmi:id="_vt0lIXcqEd-96YWU42lBhw">
+ <body>
+ * Delegates to the execute method of the command.
+ </body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vt0lIncqEd-96YWU42lBhw" name="canUndo" visibility="public">
+ <ownedComment xmi:id="_vt0lI3cqEd-96YWU42lBhw">
+ <body>
+ * Delegates to the canUndo method of the command.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vt0lJHcqEd-96YWU42lBhw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vt0lJXcqEd-96YWU42lBhw" name="undo" visibility="public">
+ <ownedComment xmi:id="_vt0lJncqEd-96YWU42lBhw">
+ <body>
+ * Delegates to the undo method of the command.
+ </body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vt0lJ3cqEd-96YWU42lBhw" name="redo" visibility="public">
+ <ownedComment xmi:id="_vt0lKHcqEd-96YWU42lBhw">
+ <body>
+ * Delegates to the redo method of the command.
+ </body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vt0lKXcqEd-96YWU42lBhw" name="getResult" visibility="public">
+ <ownedComment xmi:id="_vt0lKncqEd-96YWU42lBhw">
+ <body>
+ * Delegates to the getResult method of the command.
+ * @return the result.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vt-WIHcqEd-96YWU42lBhw" type="_vhKCKncqEd-96YWU42lBhw" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vt-WIncqEd-96YWU42lBhw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vt-WIXcqEd-96YWU42lBhw"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vt-WI3cqEd-96YWU42lBhw" name="getAffectedObjects" visibility="public">
+ <ownedComment xmi:id="_vt-WJHcqEd-96YWU42lBhw">
+ <body>
+ * Delegates to the getAffectedObjects method of the command.
+ * @return the result.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vt-WJXcqEd-96YWU42lBhw" type="_vhKCKncqEd-96YWU42lBhw" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vt-WJ3cqEd-96YWU42lBhw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vt-WJncqEd-96YWU42lBhw"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vuHgEHcqEd-96YWU42lBhw" name="getLabel" visibility="public">
+ <ownedComment xmi:id="_vuHgEXcqEd-96YWU42lBhw">
+ <body>
+ * Delegates to the getLabel method of the command.
+ * @return the label.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vuHgEncqEd-96YWU42lBhw" type="_QJNf73OxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vuHgE3cqEd-96YWU42lBhw" name="getDescription" visibility="public">
+ <ownedComment xmi:id="_vuHgFHcqEd-96YWU42lBhw">
+ <body>
+ * Delegates to the getDescription method of the command.
+ * @return the description.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vuHgFXcqEd-96YWU42lBhw" type="_QJNf73OxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vuRREHcqEd-96YWU42lBhw" name="dispose" visibility="public">
+ <ownedComment xmi:id="_vuRREXcqEd-96YWU42lBhw">
+ <body>
+ * Delegates to the dispose method of the command.
+ </body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vuRREncqEd-96YWU42lBhw" name="toString" visibility="public">
+ <ownedParameter xmi:id="_vuRRE3cqEd-96YWU42lBhw" type="_QJNf73OxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_vwW7wHcqEd-96YWU42lBhw" name="CompoundCommand">
+ <ownedComment xmi:id="_vwW7wXcqEd-96YWU42lBhw">
+ <body>
+ * A command that comprises a sequence of subcommands.
+ * Derived classes can control the way results are accumulated from the individual commands;
+ * the default behaviour is to return the result of the last command.
+ </body>
+ </ownedComment>
+ <generalization xmi:id="_vwW7wncqEd-96YWU42lBhw" general="_vgkMQHcqEd-96YWU42lBhw"/>
+ <ownedAttribute xmi:id="_vwW7w3cqEd-96YWU42lBhw" name="commandList" visibility="protected" type="_vowe8HcqEd-96YWU42lBhw" isUnique="false">
+ <ownedComment xmi:id="_vwW7xHcqEd-96YWU42lBhw">
+ <body>
+ * The list of subcommands.
+ </body>
+ </ownedComment>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vwgFsHcqEd-96YWU42lBhw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vwW7xXcqEd-96YWU42lBhw"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_vwgFsXcqEd-96YWU42lBhw" name="LAST_COMMAND_ALL" visibility="public" isLeaf="true" isStatic="true" type="_QJqLxnOxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_vwgFsncqEd-96YWU42lBhw">
+ <body>
+ * When {@link #resultIndex} is set to this,
+ * {@link #getResult} and {@link #getAffectedObjects} are delegated to the last command, if any, in the list.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_vwp2sHcqEd-96YWU42lBhw" name="MERGE_COMMAND_ALL" visibility="public" isLeaf="true" isStatic="true" type="_QJqLxnOxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_vwp2sXcqEd-96YWU42lBhw">
+ <body>
+ * When {@link #resultIndex} is set to this,
+ * {@link #getResult} and {@link #getAffectedObjects}
+ * are set to the result of merging the corresponding collection of each command in the list.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_vwp2sncqEd-96YWU42lBhw" name="resultIndex" visibility="protected" type="_QJqLxnOxEd-nKvj-XTCBkg" isUnique="false">
+ <ownedComment xmi:id="_vwznsHcqEd-96YWU42lBhw">
+ <body>
+ * The index of the command whose result and affected objects are forwarded.
+ * Negative values have special meaning, as defined by the static constants.
+ * A value of -1 indicates that the last command in the list should be used.
+ * We could have more special behaviours implemented for other negative values.
+ </body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_vwznsXcqEd-96YWU42lBhw" name="isEmpty" visibility="public">
+ <ownedComment xmi:id="_vwznsncqEd-96YWU42lBhw">
+ <body>
+ * Returns whether there are commands in the list.
+ * @return whether there are commands in the list.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vwzns3cqEd-96YWU42lBhw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vwzntHcqEd-96YWU42lBhw" name="getCommandList" visibility="public">
+ <ownedComment xmi:id="_vwzntXcqEd-96YWU42lBhw">
+ <body>
+ * Returns an unmodifiable view of the commands in the list.
+ * @return an unmodifiable view of the commands in the list.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vwzntncqEd-96YWU42lBhw" type="_vowe8HcqEd-96YWU42lBhw" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vw8xoHcqEd-96YWU42lBhw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vwznt3cqEd-96YWU42lBhw"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vw8xoXcqEd-96YWU42lBhw" name="getResultIndex" visibility="public">
+ <ownedComment xmi:id="_vw8xoncqEd-96YWU42lBhw">
+ <body>
+ * Returns the index of the command whose result and affected objects are forwarded.
+ * Negative values have special meaning, as defined by the static constants.
+ * @return the index of the command whose result and affected objects are forwarded.
+ * @see #LAST_COMMAND_ALL
+ * @see #MERGE_COMMAND_ALL
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vw8xo3cqEd-96YWU42lBhw" type="_QJqLxnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vw8xpHcqEd-96YWU42lBhw" name="prepare" visibility="protected">
+ <ownedComment xmi:id="_vw8xpXcqEd-96YWU42lBhw">
+ <body>
+ * Returns whether all the commands can execute so that {@link #isExecutable} can be cached.
+ * An empty command list causes &lt;code>false&lt;/code> to be returned.
+ * @return whether all the commands can execute.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vw8xpncqEd-96YWU42lBhw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vw8xp3cqEd-96YWU42lBhw" name="execute" visibility="public">
+ <ownedComment xmi:id="_vw8xqHcqEd-96YWU42lBhw">
+ <body>
+ * Calls {@link Command#execute} for each command in the list.
+ </body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vxGioHcqEd-96YWU42lBhw" name="canUndo" visibility="public">
+ <ownedComment xmi:id="_vxGioXcqEd-96YWU42lBhw">
+ <body>
+ * Returns &lt;code>false&lt;/code> if any of the commands return &lt;code>false&lt;/code> for {@link Command#canUndo}.
+ * @return &lt;code>false&lt;/code> if any of the commands return &lt;code>false&lt;/code> for &lt;code>canUndo&lt;/code>.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vxGioncqEd-96YWU42lBhw" type="_QJqLwnOxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vxGio3cqEd-96YWU42lBhw" name="undo" visibility="public">
+ <ownedComment xmi:id="_vxGipHcqEd-96YWU42lBhw">
+ <body>
+ * Calls {@link Command#undo} for each command in the list, in reverse order.
+ </body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vxGipXcqEd-96YWU42lBhw" name="redo" visibility="public">
+ <ownedComment xmi:id="_vxGipncqEd-96YWU42lBhw">
+ <body>
+ * Calls {@link Command#redo} for each command in the list.
+ </body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vxGip3cqEd-96YWU42lBhw" name="getResult" visibility="public">
+ <ownedComment xmi:id="_vxGiqHcqEd-96YWU42lBhw">
+ <body>
+ * Determines the result by composing the results of the commands in the list;
+ * this is affected by the setting of {@link #resultIndex}.
+ * @return the result.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vxGiqXcqEd-96YWU42lBhw" type="_vhKCKncqEd-96YWU42lBhw" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vxQToXcqEd-96YWU42lBhw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vxQToHcqEd-96YWU42lBhw"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vxQToncqEd-96YWU42lBhw" name="getMergedResultCollection" visibility="protected">
+ <ownedComment xmi:id="_vxQTo3cqEd-96YWU42lBhw">
+ <body>
+ * Returns the merged collection of all command results.
+ * @return the merged collection of all command results.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vxQTpHcqEd-96YWU42lBhw" type="_vhKCKncqEd-96YWU42lBhw" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vxZdkHcqEd-96YWU42lBhw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vxQTpXcqEd-96YWU42lBhw"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vxZdkXcqEd-96YWU42lBhw" name="getAffectedObjects" visibility="public">
+ <ownedComment xmi:id="_vxZdkncqEd-96YWU42lBhw">
+ <body>
+ * Determines the affected objects by composing the affected objects of the commands in the list;
+ * this is affected by the setting of {@link #resultIndex}.
+ * @return the affected objects.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vxZdk3cqEd-96YWU42lBhw" type="_vhKCKncqEd-96YWU42lBhw" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vxjOkXcqEd-96YWU42lBhw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vxjOkHcqEd-96YWU42lBhw"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vxjOkncqEd-96YWU42lBhw" name="getMergedAffectedObjectsCollection" visibility="protected">
+ <ownedComment xmi:id="_vxjOk3cqEd-96YWU42lBhw">
+ <body>
+ * Returns the merged collection of all command affected objects.
+ * @return the merged collection of all command affected objects.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vxjOlHcqEd-96YWU42lBhw" type="_vhKCKncqEd-96YWU42lBhw" direction="return">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vxjOlncqEd-96YWU42lBhw" value="*"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vxjOlXcqEd-96YWU42lBhw"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vxjOl3cqEd-96YWU42lBhw" name="getLabel" visibility="public">
+ <ownedComment xmi:id="_vxsYgHcqEd-96YWU42lBhw">
+ <body>
+ * Determines the label by composing the labels of the commands in the list;
+ * this is affected by the setting of {@link #resultIndex}.
+ * @return the label.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vxsYgXcqEd-96YWU42lBhw" type="_QJNf73OxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vxsYgncqEd-96YWU42lBhw" name="getDescription" visibility="public">
+ <ownedComment xmi:id="_vxsYg3cqEd-96YWU42lBhw">
+ <body>
+ * Determines the description by composing the descriptions of the commands in the list;
+ * this is affected by the setting of {@link #resultIndex}.
+ * @return the description.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vxsYhHcqEd-96YWU42lBhw" type="_QJNf73OxEd-nKvj-XTCBkg" direction="return"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vxsYhXcqEd-96YWU42lBhw" name="append" visibility="public">
+ <ownedComment xmi:id="_vxsYhncqEd-96YWU42lBhw">
+ <body>
+ * Adds a command to this compound command's list of commands.
+ * @param command the command to append.
+ </body>
+ </ownedComment>
+ <ownedParameter xmi:id="_vxsYh3cqEd-96YWU42lBhw" name="command" type="_vowe8HcqEd-96YWU42lBhw"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_vx2JgHcqEd-96YWU42lBhw" name="appendAndExecute" visibility="public">
+ <ownedComment xmi:id="_vx2JgXcqEd-96YWU42lBhw">
+ <body>
+ * Checks if the command can execute;
+ * if so, it is executed, appended to the list, and true is returned,
+ * if not, it is just disposed and false is returned.
+ * A typical use for this is to execute commands created during the execution of another command, e.g.,
+ * &lt;pre>
+ * class MyCommand extends CommandBase
+ * {
+ * protected Command subcommand;
+ *
+ * //...
+ *
+ * public void execute()
+ * {