<?xml version="1.0" encoding="windows-1252"?>
<XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2018-02-23 15:51:13">
	<XMI.header><XMI.documentation><XMI.exporter>Enterprise Architect</XMI.exporter><XMI.exporterVersion>2.5</XMI.exporterVersion></XMI.documentation></XMI.header><XMI.content><UML:Model name="EA Model" xmi.id="MX_EAID_A5ED4222_C02C_453d_AFE7_959104211551"><UML:Namespace.ownedElement><UML:Class name="EARootClass" xmi.id="EAID_11111111_5487_4080_A7F4_41526CB0AA00" isRoot="true" isLeaf="false" isAbstract="false"/><UML:Package name="Visitor" xmi.id="EAPK_A5ED4222_C02C_453d_AFE7_959104211551" isRoot="false" isLeaf="false" isAbstract="false" visibility="public"><UML:ModelElement.taggedValue><UML:TaggedValue tag="parent" value="EAPK_47E8F9BA_533A_459a_9018_5ECFBCDCDF04"/><UML:TaggedValue tag="created" value="2018-01-08 11:48:19"/><UML:TaggedValue tag="modified" value="2018-01-08 14:41:40"/><UML:TaggedValue tag="iscontrolled" value="0"/><UML:TaggedValue tag="version" value="1.0"/><UML:TaggedValue tag="isprotected" value="0"/><UML:TaggedValue tag="usedtd" value="0"/><UML:TaggedValue tag="logxml" value="0"/><UML:TaggedValue tag="packageFlags" value="CRC=0;"/><UML:TaggedValue tag="phase" value="1.0"/><UML:TaggedValue tag="status" value="Proposed"/><UML:TaggedValue tag="author" value="Stephen Maguire"/><UML:TaggedValue tag="complexity" value="1"/><UML:TaggedValue tag="ea_stype" value="Public"/><UML:TaggedValue tag="tpos" value="0"/><UML:TaggedValue tag="gentype" value="&lt;none&gt;"/></UML:ModelElement.taggedValue><UML:Namespace.ownedElement><UML:Class name="ConcreteVisitor1" xmi.id="EAID_2F4DE082_0360_443e_907C_CB88F92A8837" visibility="public" namespace="EAPK_A5ED4222_C02C_453d_AFE7_959104211551" isRoot="false" isLeaf="false" isAbstract="false" isActive="false"><UML:ModelElement.taggedValue><UML:TaggedValue tag="documentation" value="This class implements each operation declared by Visitor. Each operation implements a fragment of the algorithm defined for the corresponding class of object in the structure. ConcreteVisitor provides the context for the algorithm and stores its local state. This state often accumulates results during the traversal of the structure."/><UML:TaggedValue tag="isSpecification" value="false"/><UML:TaggedValue tag="ea_stype" value="Class"/><UML:TaggedValue tag="ea_ntype" value="0"/><UML:TaggedValue tag="version" value="1.0"/><UML:TaggedValue tag="package" value="EAPK_A5ED4222_C02C_453d_AFE7_959104211551"/><UML:TaggedValue tag="date_created" value="2018-01-10 14:11:39"/><UML:TaggedValue tag="date_modified" value="2018-01-10 14:11:39"/><UML:TaggedValue tag="gentype" value="&lt;none&gt;"/><UML:TaggedValue tag="tagged" value="0"/><UML:TaggedValue tag="package_name" value="Visitor"/><UML:TaggedValue tag="phase" value="1.0"/><UML:TaggedValue tag="author" value="Stephen Maguire"/><UML:TaggedValue tag="complexity" value="1"/><UML:TaggedValue tag="status" value="Proposed"/><UML:TaggedValue tag="tpos" value="0"/><UML:TaggedValue tag="ea_localid" value="12813"/><UML:TaggedValue tag="ea_eleType" value="element"/><UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=1;HSwimLanes=1;BorderStyle=0;"/></UML:ModelElement.taggedValue><UML:Classifier.feature><UML:Operation name="VisitConcreteElementA" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential"><UML:ModelElement.taggedValue><UML:TaggedValue tag="type" value="void"/><UML:TaggedValue tag="const" value="false"/><UML:TaggedValue tag="synchronised" value="0"/><UML:TaggedValue tag="concurrency" value="Sequential"/><UML:TaggedValue tag="position" value="0"/><UML:TaggedValue tag="returnarray" value="0"/><UML:TaggedValue tag="pure" value="0"/><UML:TaggedValue tag="ea_guid" value="{D815A4B1-CCD3-438f-844D-66598457DED7}"/><UML:TaggedValue tag="ea_localid" value="2557"/><UML:TaggedValue tag="override" value="true" xmi.id="EAID_8C67C364_6D20_44a8_9369_D94D13D912EC"/></UML:ModelElement.taggedValue><UML:BehavioralFeature.parameter><UML:Parameter kind="return" visibility="public"><UML:Parameter.type><UML:Classifier xmi.idref="eaxmiid0"/></UML:Parameter.type><UML:ModelElement.taggedValue><UML:TaggedValue tag="pos" value="0"/><UML:TaggedValue tag="type" value="void"/><UML:TaggedValue tag="const" value="0"/><UML:TaggedValue tag="ea_guid" value="{RETURNID-CCD3-438f-844D-66598457DED7}"/></UML:ModelElement.taggedValue><UML:Parameter.defaultValue><UML:Expression/></UML:Parameter.defaultValue></UML:Parameter><UML:Parameter name="concreteElementA" kind="in" visibility="public"><UML:Parameter.type><UML:Classifier xmi.idref="EAID_4852013E_2645_490e_9883_4DFA4CBC50CA"/></UML:Parameter.type><UML:ModelElement.taggedValue><UML:TaggedValue tag="pos" value="0"/><UML:TaggedValue tag="type" value="ConcreteElementA"/><UML:TaggedValue tag="const" value="0"/><UML:TaggedValue tag="classifier" value="EAID_4852013E_2645_490e_9883_4DFA4CBC50CA"/><UML:TaggedValue tag="ea_guid" value="{9293771A-A32F-48e5-9D59-6ADEEA0378BF}"/></UML:ModelElement.taggedValue><UML:Parameter.defaultValue><UML:Expression/></UML:Parameter.defaultValue></UML:Parameter></UML:BehavioralFeature.parameter></UML:Operation><UML:Operation name="VisitConcreteElementB" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential"><UML:ModelElement.taggedValue><UML:TaggedValue tag="type" value="void"/><UML:TaggedValue tag="const" value="false"/><UML:TaggedValue tag="synchronised" value="0"/><UML:TaggedValue tag="concurrency" value="Sequential"/><UML:TaggedValue tag="position" value="1"/><UML:TaggedValue tag="returnarray" value="0"/><UML:TaggedValue tag="pure" value="0"/><UML:TaggedValue tag="ea_guid" value="{14FBD8F4-B2EC-410e-8226-66BC78443C16}"/><UML:TaggedValue tag="ea_localid" value="2558"/><UML:TaggedValue tag="override" value="true" xmi.id="EAID_9CFF5183_1B91_41cc_81B0_8B9F384EBC79"/></UML:ModelElement.taggedValue><UML:BehavioralFeature.parameter><UML:Parameter kind="return" visibility="public"><UML:Parameter.type><UML:Classifier xmi.idref="eaxmiid0"/></UML:Parameter.type><UML:ModelElement.taggedValue><UML:TaggedValue tag="pos" value="0"/><UML:TaggedValue tag="type" value="void"/><UML:TaggedValue tag="const" value="0"/><UML:TaggedValue tag="ea_guid" value="{RETURNID-B2EC-410e-8226-66BC78443C16}"/></UML:ModelElement.taggedValue><UML:Parameter.defaultValue><UML:Expression/></UML:Parameter.defaultValue></UML:Parameter><UML:Parameter name="concreteElementB" kind="in" visibility="public"><UML:Parameter.type><UML:Classifier xmi.idref="EAID_AEC1E04B_4251_4766_9F47_1F07387AE8F0"/></UML:Parameter.type><UML:ModelElement.taggedValue><UML:TaggedValue tag="pos" value="0"/><UML:TaggedValue tag="type" value="ConcreteElementB"/><UML:TaggedValue tag="const" value="0"/><UML:TaggedValue tag="classifier" value="EAID_AEC1E04B_4251_4766_9F47_1F07387AE8F0"/><UML:TaggedValue tag="ea_guid" value="{3C680543-09EE-4095-AEE4-A82FE3FD8752}"/></UML:ModelElement.taggedValue><UML:Parameter.defaultValue><UML:Expression/></UML:Parameter.defaultValue></UML:Parameter></UML:BehavioralFeature.parameter></UML:Operation></UML:Classifier.feature></UML:Class><UML:Generalization subtype="EAID_2F4DE082_0360_443e_907C_CB88F92A8837" supertype="EAID_8E097408_13D7_4903_B4C0_36892D9F1DE3" xmi.id="EAID_621A3368_F592_4e19_92BF_BA717FA45009" visibility="public"><UML:ModelElement.taggedValue><UML:TaggedValue tag="style" value="3"/><UML:TaggedValue tag="ea_type" value="Generalization"/><UML:TaggedValue tag="direction" value="Source -&gt; Destination"/><UML:TaggedValue tag="linemode" value="3"/><UML:TaggedValue tag="linecolor" value="-1"/><UML:TaggedValue tag="linewidth" value="0"/><UML:TaggedValue tag="seqno" value="0"/><UML:TaggedValue tag="subtype" value="Tree"/><UML:TaggedValue tag="headStyle" value="0"/><UML:TaggedValue tag="lineStyle" value="0"/><UML:TaggedValue tag="ea_localid" value="4240"/><UML:TaggedValue tag="ea_sourceName" value="ConcreteVisitor1"/><UML:TaggedValue tag="ea_targetName" value="Visitor"/><UML:TaggedValue tag="ea_sourceType" value="Class"/><UML:TaggedValue tag="ea_targetType" value="Class"/><UML:TaggedValue tag="ea_sourceID" value="12813"/><UML:TaggedValue tag="ea_targetID" value="12815"/><UML:TaggedValue tag="src_visibility" value="Public"/><UML:TaggedValue tag="src_aggregation" value="0"/><UML:TaggedValue tag="src_isOrdered" value="false"/><UML:TaggedValue tag="src_isNavigable" value="false"/><UML:TaggedValue tag="dst_visibility" value="Public"/><UML:TaggedValue tag="dst_aggregation" value="0"/><UML:TaggedValue tag="dst_isOrdered" value="false"/><UML:TaggedValue tag="dst_isNavigable" value="true"/><UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={609B3390-AA38-42d5-898D-43CAB794F17A}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={621A3368-F592-4e19-92BF-BA717FA45009}$CLT;$ENDXREF;"/><UML:TaggedValue tag="virtualInheritance" value="0"/></UML:ModelElement.taggedValue></UML:Generalization><UML:Class name="Element" xmi.id="EAID_40752E3D_68B9_4717_A8B4_40D162F6FAED" visibility="public" namespace="EAPK_A5ED4222_C02C_453d_AFE7_959104211551" isRoot="false" isLeaf="false" isAbstract="true" isActive="false"><UML:ModelElement.taggedValue><UML:TaggedValue tag="documentation" value="This class defines an Accept operation that takes a visitor as an argument."/><UML:TaggedValue tag="isSpecification" value="false"/><UML:TaggedValue tag="ea_stype" value="Class"/><UML:TaggedValue tag="ea_ntype" value="0"/><UML:TaggedValue tag="version" value="1.0"/><UML:TaggedValue tag="package" value="EAPK_A5ED4222_C02C_453d_AFE7_959104211551"/><UML:TaggedValue tag="date_created" value="2018-01-10 14:11:32"/><UML:TaggedValue tag="date_modified" value="2018-01-10 14:11:32"/><UML:TaggedValue tag="gentype" value="&lt;none&gt;"/><UML:TaggedValue tag="tagged" value="0"/><UML:TaggedValue tag="package_name" value="Visitor"/><UML:TaggedValue tag="phase" value="1.0"/><UML:TaggedValue tag="author" value="Stephen Maguire"/><UML:TaggedValue tag="complexity" value="1"/><UML:TaggedValue tag="status" value="Proposed"/><UML:TaggedValue tag="tpos" value="0"/><UML:TaggedValue tag="ea_localid" value="12816"/><UML:TaggedValue tag="ea_eleType" value="element"/><UML:TaggedValue tag="$ea_oprparamsclassified" value="{70ECF706-92AB-4722-814E-715755A9BD39},{48EFD232-0F8E-4022-88C8-ECC555C15711}"/><UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=1;HSwimLanes=1;BorderStyle=0;"/></UML:ModelElement.taggedValue><UML:Classifier.feature><UML:Operation name="Accept" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential"><UML:ModelElement.taggedValue><UML:TaggedValue tag="type" value="void"/><UML:TaggedValue tag="const" value="false"/><UML:TaggedValue tag="isAbstract" value="1"/><UML:TaggedValue tag="synchronised" value="0"/><UML:TaggedValue tag="concurrency" value="Sequential"/><UML:TaggedValue tag="position" value="0"/><UML:TaggedValue tag="returnarray" value="0"/><UML:TaggedValue tag="pure" value="0"/><UML:TaggedValue tag="ea_guid" value="{3323B9A2-3BF0-48fe-9161-197CCD6FF0EA}"/><UML:TaggedValue tag="ea_localid" value="2553"/></UML:ModelElement.taggedValue><UML:BehavioralFeature.parameter><UML:Parameter kind="return" visibility="public"><UML:Parameter.type><UML:Classifier xmi.idref="eaxmiid0"/></UML:Parameter.type><UML:ModelElement.taggedValue><UML:TaggedValue tag="pos" value="0"/><UML:TaggedValue tag="type" value="void"/><UML:TaggedValue tag="const" value="0"/><UML:TaggedValue tag="ea_guid" value="{RETURNID-3BF0-48fe-9161-197CCD6FF0EA}"/></UML:ModelElement.taggedValue><UML:Parameter.defaultValue><UML:Expression/></UML:Parameter.defaultValue></UML:Parameter><UML:Parameter name="visitor" kind="in" visibility="public"><UML:Parameter.type><UML:Classifier xmi.idref="EAID_8E097408_13D7_4903_B4C0_36892D9F1DE3"/></UML:Parameter.type><UML:ModelElement.taggedValue><UML:TaggedValue tag="pos" value="0"/><UML:TaggedValue tag="type" value="Visitor"/><UML:TaggedValue tag="const" value="0"/><UML:TaggedValue tag="classifier" value="EAID_8E097408_13D7_4903_B4C0_36892D9F1DE3"/><UML:TaggedValue tag="ea_guid" value="{79325ED0-30AD-4fc3-B3A8-5948629A1890}"/></UML:ModelElement.taggedValue><UML:Parameter.defaultValue><UML:Expression/></UML:Parameter.defaultValue></UML:Parameter></UML:BehavioralFeature.parameter></UML:Operation></UML:Classifier.feature></UML:Class><UML:Generalization subtype="EAID_4852013E_2645_490e_9883_4DFA4CBC50CA" supertype="EAID_40752E3D_68B9_4717_A8B4_40D162F6FAED" xmi.id="EAID_02EA4292_64E0_4db7_8CCE_2CA44CDD42C5" visibility="public"><UML:ModelElement.taggedValue><UML:TaggedValue tag="style" value="3"/><UML:TaggedValue tag="ea_type" value="Generalization"/><UML:TaggedValue tag="direction" value="Source -&gt; Destination"/><UML:TaggedValue tag="linemode" value="3"/><UML:TaggedValue tag="linecolor" value="-1"/><UML:TaggedValue tag="linewidth" value="0"/><UML:TaggedValue tag="seqno" value="0"/><UML:TaggedValue tag="subtype" value="Tree"/><UML:TaggedValue tag="headStyle" value="0"/><UML:TaggedValue tag="lineStyle" value="0"/><UML:TaggedValue tag="ea_localid" value="4242"/><UML:TaggedValue tag="ea_sourceName" value="ConcreteElementA"/><UML:TaggedValue tag="ea_targetName" value="Element"/><UML:TaggedValue tag="ea_sourceType" value="Class"/><UML:TaggedValue tag="ea_targetType" value="Class"/><UML:TaggedValue tag="ea_sourceID" value="12812"/><UML:TaggedValue tag="ea_targetID" value="12816"/><UML:TaggedValue tag="src_visibility" value="Public"/><UML:TaggedValue tag="src_aggregation" value="0"/><UML:TaggedValue tag="src_isOrdered" value="false"/><UML:TaggedValue tag="src_isNavigable" value="false"/><UML:TaggedValue tag="dst_visibility" value="Public"/><UML:TaggedValue tag="dst_aggregation" value="0"/><UML:TaggedValue tag="dst_isOrdered" value="false"/><UML:TaggedValue tag="dst_isNavigable" value="false"/><UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={8EA3E9FD-AD8B-4cb8-AA22-F02BB53E77D3}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={02EA4292-64E0-4db7-8CCE-2CA44CDD42C5}$CLT;$ENDXREF;"/><UML:TaggedValue tag="virtualInheritance" value="0"/></UML:ModelElement.taggedValue></UML:Generalization><UML:Association xmi.id="EAID_A1D3D1BE_3AF7_4efd_B178_2F6B66725625" visibility="public" isRoot="false" isLeaf="false" isAbstract="false"><UML:ModelElement.taggedValue><UML:TaggedValue tag="style" value="3"/><UML:TaggedValue tag="ea_type" value="Association"/><UML:TaggedValue tag="direction" value="Source -&gt; Destination"/><UML:TaggedValue tag="linemode" value="3"/><UML:TaggedValue tag="linecolor" value="-1"/><UML:TaggedValue tag="linewidth" value="0"/><UML:TaggedValue tag="seqno" value="0"/><UML:TaggedValue tag="headStyle" value="0"/><UML:TaggedValue tag="lineStyle" value="0"/><UML:TaggedValue tag="ea_localid" value="4243"/><UML:TaggedValue tag="ea_sourceName" value="ObjectStructure"/><UML:TaggedValue tag="ea_targetName" value="Element"/><UML:TaggedValue tag="ea_sourceType" value="Class"/><UML:TaggedValue tag="ea_targetType" value="Class"/><UML:TaggedValue tag="ea_sourceID" value="12818"/><UML:TaggedValue tag="ea_targetID" value="12816"/><UML:TaggedValue tag="virtualInheritance" value="0"/><UML:TaggedValue tag="rb" value="0..*"/><UML:TaggedValue tag="rt" value="-elements"/></UML:ModelElement.taggedValue><UML:Association.connection><UML:AssociationEnd visibility="public" aggregation="none" isOrdered="false" isNavigable="false" type="EAID_9BBCCBC7_C464_4340_A8A1_1331532E6867"><UML:ModelElement.taggedValue><UML:TaggedValue tag="containment" value="Unspecified"/><UML:TaggedValue tag="sourcestyle" value="Owned=0;Navigable=Non-Navigable;"/><UML:TaggedValue tag="ea_end" value="source"/></UML:ModelElement.taggedValue></UML:AssociationEnd><UML:AssociationEnd visibility="private" multiplicity="0..*" name="elements" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_40752E3D_68B9_4717_A8B4_40D162F6FAED"><UML:ModelElement.taggedValue><UML:TaggedValue tag="containment" value="Unspecified"/><UML:TaggedValue tag="type" value="ArrayList"/><UML:TaggedValue tag="deststyle" value="Owned=0;Navigable=Navigable;"/><UML:TaggedValue tag="ea_end" value="target"/></UML:ModelElement.taggedValue></UML:AssociationEnd></UML:Association.connection></UML:Association><UML:Generalization subtype="EAID_AEC1E04B_4251_4766_9F47_1F07387AE8F0" supertype="EAID_40752E3D_68B9_4717_A8B4_40D162F6FAED" xmi.id="EAID_EBC85570_645C_4c64_ACDD_A0C448C4D08E" visibility="public"><UML:ModelElement.taggedValue><UML:TaggedValue tag="style" value="3"/><UML:TaggedValue tag="ea_type" value="Generalization"/><UML:TaggedValue tag="direction" value="Source -&gt; Destination"/><UML:TaggedValue tag="linemode" value="3"/><UML:TaggedValue tag="linecolor" value="-1"/><UML:TaggedValue tag="linewidth" value="0"/><UML:TaggedValue tag="seqno" value="0"/><UML:TaggedValue tag="subtype" value="Tree"/><UML:TaggedValue tag="headStyle" value="0"/><UML:TaggedValue tag="lineStyle" value="0"/><UML:TaggedValue tag="ea_localid" value="4241"/><UML:TaggedValue tag="ea_sourceName" value="ConcreteElementB"/><UML:TaggedValue tag="ea_targetName" value="Element"/><UML:TaggedValue tag="ea_sourceType" value="Class"/><UML:TaggedValue tag="ea_targetType" value="Class"/><UML:TaggedValue tag="ea_sourceID" value="12814"/><UML:TaggedValue tag="ea_targetID" value="12816"/><UML:TaggedValue tag="src_visibility" value="Public"/><UML:TaggedValue tag="src_aggregation" value="0"/><UML:TaggedValue tag="src_isOrdered" value="false"/><UML:TaggedValue tag="src_isNavigable" value="false"/><UML:TaggedValue tag="dst_visibility" value="Public"/><UML:TaggedValue tag="dst_aggregation" value="0"/><UML:TaggedValue tag="dst_isOrdered" value="false"/><UML:TaggedValue tag="dst_isNavigable" value="false"/><UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={98CE8CBB-EE42-4560-8764-B3F8A09F941F}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={EBC85570-645C-4c64-ACDD-A0C448C4D08E}$CLT;$ENDXREF;"/><UML:TaggedValue tag="virtualInheritance" value="0"/></UML:ModelElement.taggedValue></UML:Generalization><UML:Class name="ConcreteVisitor2" xmi.id="EAID_4768DBEF_3350_4790_BEBA_6CBDC1DDE903" visibility="public" namespace="EAPK_A5ED4222_C02C_453d_AFE7_959104211551" isRoot="false" isLeaf="false" isAbstract="false" isActive="false"><UML:ModelElement.taggedValue><UML:TaggedValue tag="documentation" value="This class implements each operation declared by Visitor. Each operation implements a fragment of the algorithm defined for the corresponding class of object in the structure. ConcreteVisitor provides the context for the algorithm and stores its local state. This state often accumulates results during the traversal of the structure."/><UML:TaggedValue tag="isSpecification" value="false"/><UML:TaggedValue tag="ea_stype" value="Class"/><UML:TaggedValue tag="ea_ntype" value="0"/><UML:TaggedValue tag="version" value="1.0"/><UML:TaggedValue tag="package" value="EAPK_A5ED4222_C02C_453d_AFE7_959104211551"/><UML:TaggedValue tag="date_created" value="2018-01-10 14:11:42"/><UML:TaggedValue tag="date_modified" value="2018-01-10 14:11:42"/><UML:TaggedValue tag="gentype" value="&lt;none&gt;"/><UML:TaggedValue tag="tagged" value="0"/><UML:TaggedValue tag="package_name" value="Visitor"/><UML:TaggedValue tag="phase" value="1.0"/><UML:TaggedValue tag="author" value="Stephen Maguire"/><UML:TaggedValue tag="complexity" value="1"/><UML:TaggedValue tag="status" value="Proposed"/><UML:TaggedValue tag="tpos" value="0"/><UML:TaggedValue tag="ea_localid" value="12817"/><UML:TaggedValue tag="ea_eleType" value="element"/><UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=1;HSwimLanes=1;BorderStyle=0;"/></UML:ModelElement.taggedValue><UML:Classifier.feature><UML:Operation name="VisitConcreteElementA" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential"><UML:ModelElement.taggedValue><UML:TaggedValue tag="type" value="void"/><UML:TaggedValue tag="const" value="false"/><UML:TaggedValue tag="synchronised" value="0"/><UML:TaggedValue tag="concurrency" value="Sequential"/><UML:TaggedValue tag="position" value="0"/><UML:TaggedValue tag="returnarray" value="0"/><UML:TaggedValue tag="pure" value="0"/><UML:TaggedValue tag="ea_guid" value="{E3504C8F-BFD0-46d9-9CA4-80D7D4A8E0D7}"/><UML:TaggedValue tag="ea_localid" value="2559"/><UML:TaggedValue tag="override" value="true" xmi.id="EAID_C2DF0815_2837_4762_AB2B_C1FFECC25A7A"/></UML:ModelElement.taggedValue><UML:BehavioralFeature.parameter><UML:Parameter kind="return" visibility="public"><UML:Parameter.type><UML:Classifier xmi.idref="eaxmiid0"/></UML:Parameter.type><UML:ModelElement.taggedValue><UML:TaggedValue tag="pos" value="0"/><UML:TaggedValue tag="type" value="void"/><UML:TaggedValue tag="const" value="0"/><UML:TaggedValue tag="ea_guid" value="{RETURNID-BFD0-46d9-9CA4-80D7D4A8E0D7}"/></UML:ModelElement.taggedValue><UML:Parameter.defaultValue><UML:Expression/></UML:Parameter.defaultValue></UML:Parameter><UML:Parameter name="concreteElementA" kind="in" visibility="public"><UML:Parameter.type><UML:Classifier xmi.idref="EAID_4852013E_2645_490e_9883_4DFA4CBC50CA"/></UML:Parameter.type><UML:ModelElement.taggedValue><UML:TaggedValue tag="pos" value="0"/><UML:TaggedValue tag="type" value="ConcreteElementA"/><UML:TaggedValue tag="const" value="0"/><UML:TaggedValue tag="classifier" value="EAID_4852013E_2645_490e_9883_4DFA4CBC50CA"/><UML:TaggedValue tag="ea_guid" value="{E3E9C06B-3614-49e7-AA4B-D4AC8B27E6ED}"/></UML:ModelElement.taggedValue><UML:Parameter.defaultValue><UML:Expression/></UML:Parameter.defaultValue></UML:Parameter></UML:BehavioralFeature.parameter></UML:Operation><UML:Operation name="VisitConcreteElementB" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential"><UML:ModelElement.taggedValue><UML:TaggedValue tag="type" value="void"/><UML:TaggedValue tag="const" value="false"/><UML:TaggedValue tag="synchronised" value="0"/><UML:TaggedValue tag="concurrency" value="Sequential"/><UML:TaggedValue tag="position" value="1"/><UML:TaggedValue tag="returnarray" value="0"/><UML:TaggedValue tag="pure" value="0"/><UML:TaggedValue tag="ea_guid" value="{925C3FFD-BA92-4a3e-9D86-DCE8FAC3B0CB}"/><UML:TaggedValue tag="ea_localid" value="2560"/><UML:TaggedValue tag="override" value="true" xmi.id="EAID_EE4C821C_299F_4533_B199_5CA0CF09CB50"/></UML:ModelElement.taggedValue><UML:BehavioralFeature.parameter><UML:Parameter kind="return" visibility="public"><UML:Parameter.type><UML:Classifier xmi.idref="eaxmiid0"/></UML:Parameter.type><UML:ModelElement.taggedValue><UML:TaggedValue tag="pos" value="0"/><UML:TaggedValue tag="type" value="void"/><UML:TaggedValue tag="const" value="0"/><UML:TaggedValue tag="ea_guid" value="{RETURNID-BA92-4a3e-9D86-DCE8FAC3B0CB}"/></UML:ModelElement.taggedValue><UML:Parameter.defaultValue><UML:Expression/></UML:Parameter.defaultValue></UML:Parameter><UML:Parameter name="concreteElementB" kind="in" visibility="public"><UML:Parameter.type><UML:Classifier xmi.idref="EAID_AEC1E04B_4251_4766_9F47_1F07387AE8F0"/></UML:Parameter.type><UML:ModelElement.taggedValue><UML:TaggedValue tag="pos" value="0"/><UML:TaggedValue tag="type" value="ConcreteElementB"/><UML:TaggedValue tag="const" value="0"/><UML:TaggedValue tag="classifier" value="EAID_AEC1E04B_4251_4766_9F47_1F07387AE8F0"/><UML:TaggedValue tag="ea_guid" value="{95482228-4BDB-46a9-81EF-BF45AE7739FF}"/></UML:ModelElement.taggedValue><UML:Parameter.defaultValue><UML:Expression/></UML:Parameter.defaultValue></UML:Parameter></UML:BehavioralFeature.parameter></UML:Operation></UML:Classifier.feature></UML:Class><UML:Generalization subtype="EAID_4768DBEF_3350_4790_BEBA_6CBDC1DDE903" supertype="EAID_8E097408_13D7_4903_B4C0_36892D9F1DE3" xmi.id="EAID_8D23B3AB_4FBF_4090_AFD5_B576B969866F" visibility="public"><UML:ModelElement.taggedValue><UML:TaggedValue tag="style" value="3"/><UML:TaggedValue tag="ea_type" value="Generalization"/><UML:TaggedValue tag="direction" value="Source -&gt; Destination"/><UML:TaggedValue tag="linemode" value="3"/><UML:TaggedValue tag="linecolor" value="-1"/><UML:TaggedValue tag="linewidth" value="0"/><UML:TaggedValue tag="seqno" value="0"/><UML:TaggedValue tag="subtype" value="Tree"/><UML:TaggedValue tag="headStyle" value="0"/><UML:TaggedValue tag="lineStyle" value="0"/><UML:TaggedValue tag="ea_localid" value="4239"/><UML:TaggedValue tag="ea_sourceName" value="ConcreteVisitor2"/><UML:TaggedValue tag="ea_targetName" value="Visitor"/><UML:TaggedValue tag="ea_sourceType" value="Class"/><UML:TaggedValue tag="ea_targetType" value="Class"/><UML:TaggedValue tag="ea_sourceID" value="12817"/><UML:TaggedValue tag="ea_targetID" value="12815"/><UML:TaggedValue tag="src_visibility" value="Public"/><UML:TaggedValue tag="src_aggregation" value="0"/><UML:TaggedValue tag="src_isOrdered" value="false"/><UML:TaggedValue tag="src_isNavigable" value="false"/><UML:TaggedValue tag="dst_visibility" value="Public"/><UML:TaggedValue tag="dst_aggregation" value="0"/><UML:TaggedValue tag="dst_isOrdered" value="false"/><UML:TaggedValue tag="dst_isNavigable" value="true"/><UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={900EC1BE-0116-496a-BAB8-D2AAC3986E0C}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={8D23B3AB-4FBF-4090-AFD5-B576B969866F}$CLT;$ENDXREF;"/><UML:TaggedValue tag="virtualInheritance" value="0"/></UML:ModelElement.taggedValue></UML:Generalization><UML:Class name="ConcreteElementA" xmi.id="EAID_4852013E_2645_490e_9883_4DFA4CBC50CA" visibility="public" namespace="EAPK_A5ED4222_C02C_453d_AFE7_959104211551" isRoot="false" isLeaf="false" isAbstract="false" isActive="false"><UML:ModelElement.taggedValue><UML:TaggedValue tag="documentation" value="This class implements an Accept operation that takes a Visitor as an argument."/><UML:TaggedValue tag="isSpecification" value="false"/><UML:TaggedValue tag="ea_stype" value="Class"/><UML:TaggedValue tag="ea_ntype" value="0"/><UML:TaggedValue tag="version" value="1.0"/><UML:TaggedValue tag="package" value="EAPK_A5ED4222_C02C_453d_AFE7_959104211551"/><UML:TaggedValue tag="date_created" value="2018-01-10 14:11:45"/><UML:TaggedValue tag="date_modified" value="2018-01-10 14:11:45"/><UML:TaggedValue tag="gentype" value="&lt;none&gt;"/><UML:TaggedValue tag="tagged" value="0"/><UML:TaggedValue tag="package_name" value="Visitor"/><UML:TaggedValue tag="phase" value="1.0"/><UML:TaggedValue tag="author" value="Stephen Maguire"/><UML:TaggedValue tag="complexity" value="1"/><UML:TaggedValue tag="status" value="Proposed"/><UML:TaggedValue tag="tpos" value="0"/><UML:TaggedValue tag="ea_localid" value="12812"/><UML:TaggedValue tag="ea_eleType" value="element"/><UML:TaggedValue tag="$ea_oprparamsclassified" value="{77E546E7-2908-4d79-8ECE-79F8E4826199},{9293771A-A32F-48e5-9D59-6ADEEA0378BF},{E3E9C06B-3614-49e7-AA4B-D4AC8B27E6ED}"/><UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=1;HSwimLanes=1;BorderStyle=0;"/></UML:ModelElement.taggedValue><UML:Classifier.feature><UML:Operation name="Accept" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential"><UML:ModelElement.taggedValue><UML:TaggedValue tag="type" value="void"/><UML:TaggedValue tag="const" value="false"/><UML:TaggedValue tag="behaviour" value="visitor.VisitConcreteElementA( this );"/><UML:TaggedValue tag="synchronised" value="0"/><UML:TaggedValue tag="concurrency" value="Sequential"/><UML:TaggedValue tag="position" value="0"/><UML:TaggedValue tag="returnarray" value="0"/><UML:TaggedValue tag="pure" value="0"/><UML:TaggedValue tag="ea_guid" value="{C4B55E4C-1DFA-49ba-AE25-F2BB9CA12BD8}"/><UML:TaggedValue tag="ea_localid" value="2561"/><UML:TaggedValue tag="styleex" value="ShowBeh=0;"/><UML:TaggedValue tag="override" value="true" xmi.id="EAID_F41B2519_D373_406e_B8D2_0EFF2B049B4C"/></UML:ModelElement.taggedValue><UML:BehavioralFeature.parameter><UML:Parameter kind="return" visibility="public"><UML:Parameter.type><UML:Classifier xmi.idref="eaxmiid0"/></UML:Parameter.type><UML:ModelElement.taggedValue><UML:TaggedValue tag="pos" value="0"/><UML:TaggedValue tag="type" value="void"/><UML:TaggedValue tag="const" value="0"/><UML:TaggedValue tag="ea_guid" value="{RETURNID-1DFA-49ba-AE25-F2BB9CA12BD8}"/></UML:ModelElement.taggedValue><UML:Parameter.defaultValue><UML:Expression/></UML:Parameter.defaultValue></UML:Parameter><UML:Parameter name="visitor" kind="in" visibility="public"><UML:Parameter.type><UML:Classifier xmi.idref="EAID_8E097408_13D7_4903_B4C0_36892D9F1DE3"/></UML:Parameter.type><UML:ModelElement.taggedValue><UML:TaggedValue tag="pos" value="0"/><UML:TaggedValue tag="type" value="Visitor"/><UML:TaggedValue tag="const" value="0"/><UML:TaggedValue tag="classifier" value="EAID_8E097408_13D7_4903_B4C0_36892D9F1DE3"/><UML:TaggedValue tag="ea_guid" value="{32618A40-E1E9-46d7-B8AA-C2C073224629}"/></UML:ModelElement.taggedValue><UML:Parameter.defaultValue><UML:Expression/></UML:Parameter.defaultValue></UML:Parameter></UML:BehavioralFeature.parameter></UML:Operation></UML:Classifier.feature></UML:Class><UML:Class name="Visitor" xmi.id="EAID_8E097408_13D7_4903_B4C0_36892D9F1DE3" visibility="public" namespace="EAPK_A5ED4222_C02C_453d_AFE7_959104211551" isRoot="false" isLeaf="false" isAbstract="true" isActive="false"><UML:ModelElement.taggedValue><UML:TaggedValue tag="documentation" value="This class declares a Visit operation for each class of ConcreteElement in the object structure. The operation's name and signature identifies the class that sends the Visit request to the visitor. That lets the visitor determine the concrete class of the element being visited. Then the visitor can access the element directly through its particular interface."/><UML:TaggedValue tag="isSpecification" value="false"/><UML:TaggedValue tag="ea_stype" value="Class"/><UML:TaggedValue tag="ea_ntype" value="0"/><UML:TaggedValue tag="version" value="1.0"/><UML:TaggedValue tag="package" value="EAPK_A5ED4222_C02C_453d_AFE7_959104211551"/><UML:TaggedValue tag="date_created" value="2018-01-10 14:11:37"/><UML:TaggedValue tag="date_modified" value="2018-01-10 14:11:37"/><UML:TaggedValue tag="gentype" value="&lt;none&gt;"/><UML:TaggedValue tag="tagged" value="0"/><UML:TaggedValue tag="package_name" value="Visitor"/><UML:TaggedValue tag="phase" value="1.0"/><UML:TaggedValue tag="author" value="Stephen Maguire"/><UML:TaggedValue tag="complexity" value="1"/><UML:TaggedValue tag="status" value="Proposed"/><UML:TaggedValue tag="tpos" value="0"/><UML:TaggedValue tag="ea_localid" value="12815"/><UML:TaggedValue tag="ea_eleType" value="element"/><UML:TaggedValue tag="$ea_oprparamsclassified" value="{D56FC0A9-6684-4f7e-935E-500AEE825B2C},{79325ED0-30AD-4fc3-B3A8-5948629A1890},{E4775D81-D8EC-45af-B11D-A2AEEF90A810},{32618A40-E1E9-46d7-B8AA-C2C073224629}"/><UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=1;HSwimLanes=1;BorderStyle=0;"/></UML:ModelElement.taggedValue><UML:Classifier.feature><UML:Operation name="VisitConcreteElementA" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential"><UML:ModelElement.taggedValue><UML:TaggedValue tag="type" value="void"/><UML:TaggedValue tag="const" value="false"/><UML:TaggedValue tag="isAbstract" value="1"/><UML:TaggedValue tag="synchronised" value="0"/><UML:TaggedValue tag="concurrency" value="Sequential"/><UML:TaggedValue tag="position" value="0"/><UML:TaggedValue tag="returnarray" value="0"/><UML:TaggedValue tag="pure" value="0"/><UML:TaggedValue tag="ea_guid" value="{3A69C84D-4076-4ce2-AB98-FA6CD07CBA3E}"/><UML:TaggedValue tag="ea_localid" value="2555"/></UML:ModelElement.taggedValue><UML:BehavioralFeature.parameter><UML:Parameter kind="return" visibility="public"><UML:Parameter.type><UML:Classifier xmi.idref="eaxmiid0"/></UML:Parameter.type><UML:ModelElement.taggedValue><UML:TaggedValue tag="pos" value="0"/><UML:TaggedValue tag="type" value="void"/><UML:TaggedValue tag="const" value="0"/><UML:TaggedValue tag="ea_guid" value="{RETURNID-4076-4ce2-AB98-FA6CD07CBA3E}"/></UML:ModelElement.taggedValue><UML:Parameter.defaultValue><UML:Expression/></UML:Parameter.defaultValue></UML:Parameter><UML:Parameter name="concreteElementA" kind="in" visibility="public"><UML:Parameter.type><UML:Classifier xmi.idref="EAID_4852013E_2645_490e_9883_4DFA4CBC50CA"/></UML:Parameter.type><UML:ModelElement.taggedValue><UML:TaggedValue tag="pos" value="0"/><UML:TaggedValue tag="type" value="ConcreteElementA"/><UML:TaggedValue tag="const" value="0"/><UML:TaggedValue tag="classifier" value="EAID_4852013E_2645_490e_9883_4DFA4CBC50CA"/><UML:TaggedValue tag="ea_guid" value="{77E546E7-2908-4d79-8ECE-79F8E4826199}"/></UML:ModelElement.taggedValue><UML:Parameter.defaultValue><UML:Expression/></UML:Parameter.defaultValue></UML:Parameter></UML:BehavioralFeature.parameter></UML:Operation><UML:Operation name="VisitConcreteElementB" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential"><UML:ModelElement.taggedValue><UML:TaggedValue tag="type" value="void"/><UML:TaggedValue tag="const" value="false"/><UML:TaggedValue tag="isAbstract" value="1"/><UML:TaggedValue tag="synchronised" value="0"/><UML:TaggedValue tag="concurrency" value="Sequential"/><UML:TaggedValue tag="position" value="1"/><UML:TaggedValue tag="returnarray" value="0"/><UML:TaggedValue tag="pure" value="0"/><UML:TaggedValue tag="ea_guid" value="{561FF9EF-3C6E-4165-8776-ED1DE00192FB}"/><UML:TaggedValue tag="ea_localid" value="2556"/></UML:ModelElement.taggedValue><UML:BehavioralFeature.parameter><UML:Parameter kind="return" visibility="public"><UML:Parameter.type><UML:Classifier xmi.idref="eaxmiid0"/></UML:Parameter.type><UML:ModelElement.taggedValue><UML:TaggedValue tag="pos" value="0"/><UML:TaggedValue tag="type" value="void"/><UML:TaggedValue tag="const" value="0"/><UML:TaggedValue tag="ea_guid" value="{RETURNID-3C6E-4165-8776-ED1DE00192FB}"/></UML:ModelElement.taggedValue><UML:Parameter.defaultValue><UML:Expression/></UML:Parameter.defaultValue></UML:Parameter><UML:Parameter name="concreteElementB" kind="in" visibility="public"><UML:Parameter.type><UML:Classifier xmi.idref="EAID_AEC1E04B_4251_4766_9F47_1F07387AE8F0"/></UML:Parameter.type><UML:ModelElement.taggedValue><UML:TaggedValue tag="pos" value="0"/><UML:TaggedValue tag="type" value="ConcreteElementB"/><UML:TaggedValue tag="const" value="0"/><UML:TaggedValue tag="classifier" value="EAID_AEC1E04B_4251_4766_9F47_1F07387AE8F0"/><UML:TaggedValue tag="ea_guid" value="{82A10866-11A8-4a28-BD4C-303E09578956}"/></UML:ModelElement.taggedValue><UML:Parameter.defaultValue><UML:Expression/></UML:Parameter.defaultValue></UML:Parameter></UML:BehavioralFeature.parameter></UML:Operation></UML:Classifier.feature></UML:Class><UML:Class name="ObjectStructure" xmi.id="EAID_9BBCCBC7_C464_4340_A8A1_1331532E6867" visibility="public" namespace="EAPK_A5ED4222_C02C_453d_AFE7_959104211551" isRoot="false" isLeaf="false" isAbstract="false" isActive="false"><UML:ModelElement.taggedValue><UML:TaggedValue tag="documentation" value="This class can enumerate its elements, may provide a high-level interface to allow the visitor to visit its elements and may either be a composite or a collection such as a list or a set."/><UML:TaggedValue tag="isSpecification" value="false"/><UML:TaggedValue tag="ea_stype" value="Class"/><UML:TaggedValue tag="ea_ntype" value="0"/><UML:TaggedValue tag="version" value="1.0"/><UML:TaggedValue tag="package" value="EAPK_A5ED4222_C02C_453d_AFE7_959104211551"/><UML:TaggedValue tag="date_created" value="2018-01-10 14:11:28"/><UML:TaggedValue tag="date_modified" value="2018-01-10 14:11:28"/><UML:TaggedValue tag="gentype" value="&lt;none&gt;"/><UML:TaggedValue tag="tagged" value="0"/><UML:TaggedValue tag="package_name" value="Visitor"/><UML:TaggedValue tag="phase" value="1.0"/><UML:TaggedValue tag="author" value="Stephen Maguire"/><UML:TaggedValue tag="complexity" value="1"/><UML:TaggedValue tag="status" value="Proposed"/><UML:TaggedValue tag="tpos" value="0"/><UML:TaggedValue tag="ea_localid" value="12818"/><UML:TaggedValue tag="ea_eleType" value="element"/><UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=1;HSwimLanes=1;BorderStyle=0;"/></UML:ModelElement.taggedValue><UML:Classifier.feature><UML:Operation name="Attach" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential"><UML:ModelElement.taggedValue><UML:TaggedValue tag="type" value="void"/><UML:TaggedValue tag="const" value="false"/><UML:TaggedValue tag="behaviour" value="elements.addElement( element );"/><UML:TaggedValue tag="synchronised" value="0"/><UML:TaggedValue tag="concurrency" value="Sequential"/><UML:TaggedValue tag="position" value="0"/><UML:TaggedValue tag="returnarray" value="0"/><UML:TaggedValue tag="pure" value="0"/><UML:TaggedValue tag="ea_guid" value="{A2B49072-8DCD-4927-A26D-5CE5D5403631}"/><UML:TaggedValue tag="ea_localid" value="2550"/><UML:TaggedValue tag="styleex" value="ShowBeh=0;"/></UML:ModelElement.taggedValue><UML:BehavioralFeature.parameter><UML:Parameter kind="return" visibility="public"><UML:Parameter.type><UML:Classifier xmi.idref="eaxmiid0"/></UML:Parameter.type><UML:ModelElement.taggedValue><UML:TaggedValue tag="pos" value="0"/><UML:TaggedValue tag="type" value="void"/><UML:TaggedValue tag="const" value="0"/><UML:TaggedValue tag="ea_guid" value="{RETURNID-8DCD-4927-A26D-5CE5D5403631}"/></UML:ModelElement.taggedValue><UML:Parameter.defaultValue><UML:Expression/></UML:Parameter.defaultValue></UML:Parameter><UML:Parameter name="element" kind="in" visibility="public"><UML:Parameter.type><UML:Classifier xmi.idref="EAID_40752E3D_68B9_4717_A8B4_40D162F6FAED"/></UML:Parameter.type><UML:ModelElement.taggedValue><UML:TaggedValue tag="pos" value="0"/><UML:TaggedValue tag="type" value="Element"/><UML:TaggedValue tag="const" value="0"/><UML:TaggedValue tag="classifier" value="EAID_40752E3D_68B9_4717_A8B4_40D162F6FAED"/><UML:TaggedValue tag="ea_guid" value="{70ECF706-92AB-4722-814E-715755A9BD39}"/></UML:ModelElement.taggedValue><UML:Parameter.defaultValue><UML:Expression/></UML:Parameter.defaultValue></UML:Parameter></UML:BehavioralFeature.parameter></UML:Operation><UML:Operation name="Detach" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential"><UML:ModelElement.taggedValue><UML:TaggedValue tag="type" value="void"/><UML:TaggedValue tag="const" value="false"/><UML:TaggedValue tag="behaviour" value="elements.removeElement( element );"/><UML:TaggedValue tag="synchronised" value="0"/><UML:TaggedValue tag="concurrency" value="Sequential"/><UML:TaggedValue tag="position" value="1"/><UML:TaggedValue tag="returnarray" value="0"/><UML:TaggedValue tag="pure" value="0"/><UML:TaggedValue tag="ea_guid" value="{01A16F66-84F9-44c8-B4F4-5DE3778F924B}"/><UML:TaggedValue tag="ea_localid" value="2551"/><UML:TaggedValue tag="styleex" value="ShowBeh=0;"/></UML:ModelElement.taggedValue><UML:BehavioralFeature.parameter><UML:Parameter kind="return" visibility="public"><UML:Parameter.type><UML:Classifier xmi.idref="eaxmiid0"/></UML:Parameter.type><UML:ModelElement.taggedValue><UML:TaggedValue tag="pos" value="0"/><UML:TaggedValue tag="type" value="void"/><UML:TaggedValue tag="const" value="0"/><UML:TaggedValue tag="ea_guid" value="{RETURNID-84F9-44c8-B4F4-5DE3778F924B}"/></UML:ModelElement.taggedValue><UML:Parameter.defaultValue><UML:Expression/></UML:Parameter.defaultValue></UML:Parameter><UML:Parameter name="element" kind="in" visibility="public"><UML:Parameter.type><UML:Classifier xmi.idref="EAID_40752E3D_68B9_4717_A8B4_40D162F6FAED"/></UML:Parameter.type><UML:ModelElement.taggedValue><UML:TaggedValue tag="pos" value="0"/><UML:TaggedValue tag="type" value="Element"/><UML:TaggedValue tag="const" value="0"/><UML:TaggedValue tag="classifier" value="EAID_40752E3D_68B9_4717_A8B4_40D162F6FAED"/><UML:TaggedValue tag="ea_guid" value="{48EFD232-0F8E-4022-88C8-ECC555C15711}"/></UML:ModelElement.taggedValue><UML:Parameter.defaultValue><UML:Expression/></UML:Parameter.defaultValue></UML:Parameter></UML:BehavioralFeature.parameter></UML:Operation><UML:Operation name="Accept" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential"><UML:ModelElement.taggedValue><UML:TaggedValue tag="type" value="void"/><UML:TaggedValue tag="const" value="false"/><UML:TaggedValue tag="behaviour" value="foreach (Element e in elements) e.Accept( visitor );"/><UML:TaggedValue tag="synchronised" value="0"/><UML:TaggedValue tag="concurrency" value="Sequential"/><UML:TaggedValue tag="position" value="2"/><UML:TaggedValue tag="returnarray" value="0"/><UML:TaggedValue tag="pure" value="0"/><UML:TaggedValue tag="ea_guid" value="{8ABD17BA-F90F-47de-BD16-37AD406C5C5C}"/><UML:TaggedValue tag="ea_localid" value="2552"/><UML:TaggedValue tag="styleex" value="ShowBeh=0;"/></UML:ModelElement.taggedValue><UML:BehavioralFeature.parameter><UML:Parameter kind="return" visibility="public"><UML:Parameter.type><UML:Classifier xmi.idref="eaxmiid0"/></UML:Parameter.type><UML:ModelElement.taggedValue><UML:TaggedValue tag="pos" value="0"/><UML:TaggedValue tag="type" value="void"/><UML:TaggedValue tag="const" value="0"/><UML:TaggedValue tag="ea_guid" value="{RETURNID-F90F-47de-BD16-37AD406C5C5C}"/></UML:ModelElement.taggedValue><UML:Parameter.defaultValue><UML:Expression/></UML:Parameter.defaultValue></UML:Parameter><UML:Parameter name="visitor" kind="in" visibility="public"><UML:Parameter.type><UML:Classifier xmi.idref="EAID_8E097408_13D7_4903_B4C0_36892D9F1DE3"/></UML:Parameter.type><UML:ModelElement.taggedValue><UML:TaggedValue tag="pos" value="0"/><UML:TaggedValue tag="type" value="Visitor"/><UML:TaggedValue tag="const" value="0"/><UML:TaggedValue tag="classifier" value="EAID_8E097408_13D7_4903_B4C0_36892D9F1DE3"/><UML:TaggedValue tag="ea_guid" value="{D56FC0A9-6684-4f7e-935E-500AEE825B2C}"/></UML:ModelElement.taggedValue><UML:Parameter.defaultValue><UML:Expression/></UML:Parameter.defaultValue></UML:Parameter></UML:BehavioralFeature.parameter></UML:Operation></UML:Classifier.feature></UML:Class><UML:Class name="ConcreteElementB" xmi.id="EAID_AEC1E04B_4251_4766_9F47_1F07387AE8F0" visibility="public" namespace="EAPK_A5ED4222_C02C_453d_AFE7_959104211551" isRoot="false" isLeaf="false" isAbstract="false" isActive="false"><UML:ModelElement.taggedValue><UML:TaggedValue tag="documentation" value="This class implements an Accept operation that takes a Visitor as an argument."/><UML:TaggedValue tag="isSpecification" value="false"/><UML:TaggedValue tag="ea_stype" value="Class"/><UML:TaggedValue tag="ea_ntype" value="0"/><UML:TaggedValue tag="version" value="1.0"/><UML:TaggedValue tag="package" value="EAPK_A5ED4222_C02C_453d_AFE7_959104211551"/><UML:TaggedValue tag="date_created" value="2018-01-10 14:11:34"/><UML:TaggedValue tag="date_modified" value="2018-01-10 14:11:34"/><UML:TaggedValue tag="gentype" value="&lt;none&gt;"/><UML:TaggedValue tag="tagged" value="0"/><UML:TaggedValue tag="package_name" value="Visitor"/><UML:TaggedValue tag="phase" value="1.0"/><UML:TaggedValue tag="author" value="Stephen Maguire"/><UML:TaggedValue tag="complexity" value="1"/><UML:TaggedValue tag="status" value="Proposed"/><UML:TaggedValue tag="tpos" value="0"/><UML:TaggedValue tag="ea_localid" value="12814"/><UML:TaggedValue tag="ea_eleType" value="element"/><UML:TaggedValue tag="$ea_oprparamsclassified" value="{82A10866-11A8-4a28-BD4C-303E09578956},{3C680543-09EE-4095-AEE4-A82FE3FD8752},{95482228-4BDB-46a9-81EF-BF45AE7739FF}"/><UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=1;HSwimLanes=1;BorderStyle=0;"/></UML:ModelElement.taggedValue><UML:Classifier.feature><UML:Operation name="Accept" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential"><UML:ModelElement.taggedValue><UML:TaggedValue tag="type" value="void"/><UML:TaggedValue tag="const" value="false"/><UML:TaggedValue tag="behaviour" value="visitor.VisitConcreteElementB( this );"/><UML:TaggedValue tag="synchronised" value="0"/><UML:TaggedValue tag="concurrency" value="Sequential"/><UML:TaggedValue tag="position" value="0"/><UML:TaggedValue tag="returnarray" value="0"/><UML:TaggedValue tag="pure" value="0"/><UML:TaggedValue tag="ea_guid" value="{7A375EC2-AF38-4dc0-A7FD-B6B36D3514FA}"/><UML:TaggedValue tag="ea_localid" value="2554"/><UML:TaggedValue tag="styleex" value="ShowBeh=0;"/><UML:TaggedValue tag="override" value="true" xmi.id="EAID_2D2EA7C0_A0A2_49fd_BFD3_D97BACC80AC5"/></UML:ModelElement.taggedValue><UML:BehavioralFeature.parameter><UML:Parameter kind="return" visibility="public"><UML:Parameter.type><UML:Classifier xmi.idref="eaxmiid0"/></UML:Parameter.type><UML:ModelElement.taggedValue><UML:TaggedValue tag="pos" value="0"/><UML:TaggedValue tag="type" value="void"/><UML:TaggedValue tag="const" value="0"/><UML:TaggedValue tag="ea_guid" value="{RETURNID-AF38-4dc0-A7FD-B6B36D3514FA}"/></UML:ModelElement.taggedValue><UML:Parameter.defaultValue><UML:Expression/></UML:Parameter.defaultValue></UML:Parameter><UML:Parameter name="visitor" kind="in" visibility="public"><UML:Parameter.type><UML:Classifier xmi.idref="EAID_8E097408_13D7_4903_B4C0_36892D9F1DE3"/></UML:Parameter.type><UML:ModelElement.taggedValue><UML:TaggedValue tag="pos" value="0"/><UML:TaggedValue tag="type" value="Visitor"/><UML:TaggedValue tag="const" value="0"/><UML:TaggedValue tag="classifier" value="EAID_8E097408_13D7_4903_B4C0_36892D9F1DE3"/><UML:TaggedValue tag="ea_guid" value="{E4775D81-D8EC-45af-B11D-A2AEEF90A810}"/></UML:ModelElement.taggedValue><UML:Parameter.defaultValue><UML:Expression/></UML:Parameter.defaultValue></UML:Parameter></UML:BehavioralFeature.parameter></UML:Operation></UML:Classifier.feature></UML:Class></UML:Namespace.ownedElement></UML:Package><UML:DataType xmi.id="eaxmiid0" name="void" visibility="private" isRoot="false" isLeaf="false" isAbstract="false"/></UML:Namespace.ownedElement></UML:Model><UML:Diagram name="Visitor" xmi.id="EAID_FFD66C9A_E8E2_4f5d_90DE_671219E49538" diagramType="ClassDiagram" owner="EAPK_A5ED4222_C02C_453d_AFE7_959104211551" toolName="Enterprise Architect 2.5"><UML:ModelElement.taggedValue><UML:TaggedValue tag="version" value="1.0"/><UML:TaggedValue tag="author" value="Stephen Maguire"/><UML:TaggedValue tag="created_date" value="2018-01-10 14:11:09"/><UML:TaggedValue tag="modified_date" value="2018-02-07 16:42:42"/><UML:TaggedValue tag="package" value="EAPK_A5ED4222_C02C_453d_AFE7_959104211551"/><UML:TaggedValue tag="type" value="Logical"/><UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=-1;bold=false;fcol=0;tcol=-1;ofCol=-1;ufCol=-1;hl=0;ufh=0;hh=0;cls=0;bw=0;hli=0;SwimlaneFont=lfh:-11,lfw:0,lfi:0,lfu:0,lfs:0,lfface:Carlito,lfe:0,lfo:0,lfchar:1,lfop:0,lfcp:0,lfq:2,lfpf=0,lfWidth=0;"/><UML:TaggedValue tag="matrixitems" value="locked=false;matrixactive=false;swimlanesactive=true;kanbanactive=false;width=1;clrLine=0;"/><UML:TaggedValue tag="ea_localid" value="1797"/><UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=1;PPgs.cy=1;DocSize.cx=826;DocSize.cy=1169;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=1;VisibleAttributeDetail=0;ShowOpRetType=1;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;ConnectorNotation=UML 2.1;ExplicitNavigability=0;ShowShape=1;AllDockable=0;AdvancedElementProps=1;AdvancedFeatureProps=1;AdvancedConnectorProps=1;m_bElementClassifier=1;SPT=1;ShowNotes=0;SuppressBrackets=0;SuppConnectorLabels=0;PrintPageHeadFoot=0;ShowAsList=0;"/><UML:TaggedValue tag="styleex" value="SaveTag=067BAF46;ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=1;MatrixActive=0;SwimlanesActive=1;KanbanActive=0;MatrixLineWidth=1;MatrixLineClr=0;MatrixLocked=0;TConnectorNotation=UML 2.1;TExplicitNavigability=0;AdvancedElementProps=1;AdvancedFeatureProps=1;AdvancedConnectorProps=1;m_bElementClassifier=1;SPT=1;MDGDgm=;STBLDgm=;ShowNotes=0;VisibleAttributeDetail=0;ShowOpRetType=1;SuppressBrackets=0;SuppConnectorLabels=0;PrintPageHeadFoot=0;ShowAsList=0;SuppressedCompartments=;Theme=:119;"/></UML:ModelElement.taggedValue><UML:Diagram.element><UML:DiagramElement geometry="Left=240;Top=523;Right=376;Bottom=593;" subject="EAID_4852013E_2645_490e_9883_4DFA4CBC50CA" seqno="1" style="DUID=95335E94;"/><UML:DiagramElement geometry="Left=407;Top=253;Right=667;Bottom=323;" subject="EAID_4768DBEF_3350_4790_BEBA_6CBDC1DDE903" seqno="2" style="DUID=1992BE17;"/><UML:DiagramElement geometry="Left=100;Top=252;Right=360;Bottom=322;" subject="EAID_2F4DE082_0360_443e_907C_CB88F92A8837" seqno="3" style="DUID=C7EBCE01;"/><UML:DiagramElement geometry="Left=244;Top=100;Right=501;Bottom=170;" subject="EAID_8E097408_13D7_4903_B4C0_36892D9F1DE3" seqno="4" style="DUID=FEB06583;"/><UML:DiagramElement geometry="Left=435;Top=523;Right=571;Bottom=593;" subject="EAID_AEC1E04B_4251_4766_9F47_1F07387AE8F0" seqno="5" style="DUID=46F6A6DA;"/><UML:DiagramElement geometry="Left=332;Top=367;Right=468;Bottom=437;" subject="EAID_40752E3D_68B9_4717_A8B4_40D162F6FAED" seqno="6" style="DUID=81E8FB0E;"/><UML:DiagramElement geometry="Left=103;Top=364;Right=235;Bottom=443;" subject="EAID_9BBCCBC7_C464_4340_A8A1_1331532E6867" seqno="7" style="DUID=C1D24AFF;"/><UML:DiagramElement geometry="SX=0;SY=0;EX=0;EY=0;EDGE=2;$LLB=;LLT=;LMT=;LMB=;LRT=CX=44:CY=13:OX=-15:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=CX=17:CY=13:OX=-16:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;IRHS=;ILHS=;Path=;" subject="EAID_A1D3D1BE_3AF7_4efd_B178_2F6B66725625" style="Mode=1;EOID=81E8FB0E;SOID=C1D24AFF;Color=-1;LWidth=0;Hidden=0;"/><UML:DiagramElement geometry="SX=0;SY=0;EX=0;EY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;IRHS=;ILHS=;Path=230:-220$372:-220$;" subject="EAID_621A3368_F592_4e19_92BF_BA717FA45009" style="Mode=3;EOID=FEB06583;SOID=C7EBCE01;Color=-1;LWidth=0;TREE=;Hidden=0;"/><UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;IRHS=;ILHS=;Path=537:-220$372:-220$;" subject="EAID_8D23B3AB_4FBF_4090_AFD5_B576B969866F" style="Mode=3;EOID=FEB06583;SOID=1992BE17;Color=-1;LWidth=0;TREE=;Hidden=0;"/><UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;IRHS=;ILHS=;Path=307:-487$400:-487$;" subject="EAID_02EA4292_64E0_4db7_8CCE_2CA44CDD42C5" style="Mode=3;EOID=81E8FB0E;SOID=95335E94;Color=-1;LWidth=0;TREE=;Hidden=0;"/><UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;IRHS=;ILHS=;Path=502:-487$400:-487$;" subject="EAID_EBC85570_645C_4c64_ACDD_A0C448C4D08E" style="Mode=3;EOID=81E8FB0E;SOID=46F6A6DA;Color=-1;LWidth=0;TREE=;Hidden=0;"/></UML:Diagram.element></UML:Diagram></XMI.content><XMI.difference/><XMI.extensions xmi.extender="Enterprise Architect 2.5"><EAModel.paramSub/></XMI.extensions></XMI>
