mps-coderules/languages/jetbrains.mps.logic/generator/template/main@generator.mps

1056 lines
108 KiB
Plaintext

<?xml version="1.0" encoding="UTF-8"?>
<model modelUID="r:727775a3-16ae-4b9f-80a6-9ef3207ffa6a(jetbrains.mps.logic.generator.template.main@generator)">
<persistence version="8" />
<language namespace="ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)" />
<language namespace="b401a680-8325-4110-8fd3-84331ff25bef(jetbrains.mps.lang.generator)" />
<language namespace="d7706f63-9be2-479c-a3da-ae92af1e64d5(jetbrains.mps.lang.generator.generationContext)" />
<language namespace="35320f26-77cb-4c55-be9f-a97a27770af1(jetbrains.mps.logic)" />
<language namespace="7a5dda62-9140-4668-ab76-d5ed1746f2b2(jetbrains.mps.lang.typesystem)" />
<devkit namespace="fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)" />
<import index="5j4j" modelUID="r:c8fb1c5e-8204-4904-a38f-678899d447c1(jetbrains.mps.logic.structure)" version="-1" />
<import index="ie8e" modelUID="r:ab2605ab-b4bc-4e80-a8ca-19a4a8465c01(jetbrains.mps.unification.tree)" version="-1" />
<import index="tqye" modelUID="r:a96ed64c-59f1-465b-8d59-dbd0e8856971(jetbrains.mps.unification.ast)" version="-1" />
<import index="vgt0" modelUID="r:f36c95e5-e428-4945-91ae-1005e20c7971(jetbrains.mps.jchr.structure)" version="0" />
<import index="tpee" modelUID="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" version="5" />
<import index="ec5l" modelUID="f:java_stub#8865b7a8-5271-43d3-884c-6fd1d9cfdd34#org.jetbrains.mps.openapi.model(MPS.OpenAPI/org.jetbrains.mps.openapi.model@java_stub)" version="-1" />
<import index="oy3s" modelUID="r:a6030cee-34eb-4503-b1bf-015fe5cd8c1a(jetbrains.mps.logic.jchr.unification)" version="-1" />
<import index="tpck" modelUID="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" version="0" implicit="yes" />
<import index="tpf8" modelUID="r:00000000-0000-4000-0000-011c895902e8(jetbrains.mps.lang.generator.structure)" version="2" implicit="yes" />
<import index="tp25" modelUID="r:00000000-0000-4000-0000-011c89590301(jetbrains.mps.lang.smodel.structure)" version="16" implicit="yes" />
<import index="tp2q" modelUID="r:00000000-0000-4000-0000-011c8959032e(jetbrains.mps.baseLanguage.collections.structure)" version="7" implicit="yes" />
<import index="tp2c" modelUID="r:00000000-0000-4000-0000-011c89590338(jetbrains.mps.baseLanguage.closures.structure)" version="3" implicit="yes" />
<import index="e2lb" modelUID="f:java_stub#6354ebe7-c22a-4a0f-ac54-50b52ab9b065#java.lang(JDK/java.lang@java_stub)" version="-1" implicit="yes" />
<import index="tpd4" modelUID="r:00000000-0000-4000-0000-011c895902b4(jetbrains.mps.lang.typesystem.structure)" version="7" implicit="yes" />
<import index="tpf3" modelUID="r:00000000-0000-4000-0000-011c895902f3(jetbrains.mps.lang.generator.generationContext.structure)" version="0" implicit="yes" />
<import index="tp3t" modelUID="r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)" version="0" implicit="yes" />
<root type="tpf8.MappingConfiguration" typeId="tpf8.1095416546421" id="6626732309150416986" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="main" />
<node role="mappingLabel" roleId="tpf8.1200911492601" type="tpf8.MappingLabelDeclaration" typeId="tpf8.1200911316486" id="3562712610788705323" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="Handler_AstHelper" />
<link role="sourceConcept" roleId="tpf8.1200911342686" targetNodeId="vgt0.456733934405394951" resolveInfo="Handler" />
<link role="targetConcept" roleId="tpf8.1200913004646" targetNodeId="tpee.1068390468198" resolveInfo="ClassConcept" />
</node>
<node role="mappingLabel" roleId="tpf8.1200911492601" type="tpf8.MappingLabelDeclaration" typeId="tpf8.1200911316486" id="3562712610788770705" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="Ast_Method" />
<link role="sourceConcept" roleId="tpf8.1200911342686" targetNodeId="5j4j.7571593955706120730" resolveInfo="Ast" />
<link role="targetConcept" roleId="tpf8.1200913004646" targetNodeId="tpee.1081236700938" resolveInfo="StaticMethodDeclaration" />
</node>
<node role="rootMappingRule" roleId="tpf8.1167514678247" type="tpf8.Root_MappingRule" typeId="tpf8.1167514355419" id="3562712610788659967" nodeInfo="ng">
<property name="keepSourceRoot" nameId="tpf8.1177959072138" value="true" />
<link role="applicableConcept" roleId="tpf8.1167169349424" targetNodeId="vgt0.456733934405394951" resolveInfo="Handler" />
<link role="template" roleId="tpf8.1167514355421" targetNodeId="3562712610788642008" resolveInfo="Forest" />
<link role="labelDeclaration" roleId="tpf8.1200917515464" targetNodeId="3562712610788705323" resolveInfo="Handler_AstHelper" />
</node>
<node role="reductionMappingRule" roleId="tpf8.1167328349397" type="tpf8.Reduction_MappingRule" typeId="tpf8.1167327847730" id="1611448358168254930" nodeInfo="ng">
<link role="applicableConcept" roleId="tpf8.1167169349424" targetNodeId="5j4j.7571593955706120730" resolveInfo="Ast" />
<node role="ruleConsequence" roleId="tpf8.1169672767469" type="tpf8.InlineSwitch_RuleConsequence" typeId="tpf8.1195158154974" id="3562712610788610832" nodeInfo="ng">
<node role="case" roleId="tpf8.1195158408710" type="tpf8.InlineSwitch_Case" typeId="tpf8.1195158388553" id="3562712610788611187" nodeInfo="ng">
<node role="conditionFunction" roleId="tpf8.1195158608805" type="tpf8.BaseMappingRule_Condition" typeId="tpf8.1167168920554" id="3562712610788611188" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610788611189" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610788612192" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788614949" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788612483" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="3562712610788612191" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_GetParentOperation" typeId="tp25.1139613262185" id="3562712610788613615" nodeInfo="nn" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_IsInstanceOfOperation" typeId="tp25.1139621453865" id="3562712610788616076" nodeInfo="nn">
<node role="conceptArgument" roleId="tp25.1177027386292" type="tp25.RefConcept_Reference" typeId="tp25.1177026924588" id="3562712610788635568" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1177026940964" targetNodeId="vgt0.3562712610788604202" resolveInfo="IPredicate" />
</node>
</node>
</node>
</node>
</node>
</node>
<node role="caseConsequence" roleId="tpf8.1195158637244" type="tpf8.InlineTemplate_RuleConsequence" typeId="tpf8.1177093525992" id="3562712610788638844" nodeInfo="ng">
<node role="templateNode" roleId="tpf8.1177093586806" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="3562712610789035906" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="3562712610788687307" resolveInfo="tree" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="3562712610788642008" resolveInfo="Forest" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.NullLiteral" typeId="tpee.1070534058343" id="3562712610789036165" nodeInfo="nn">
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.CopySrcListMacro" typeId="tpf8.1114729360583" id="3562712610789044956" nodeInfo="nn">
<node role="sourceNodesQuery" roleId="tpf8.1168278589236" type="tpf8.SourceSubstituteMacro_SourceNodesQuery" typeId="tpf8.1167951910403" id="3562712610789044958" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610789044960" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610789046254" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610789046562" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="3562712610789046253" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_GetDescendantsOperation" typeId="tp25.1171305280644" id="3562712610789048452" nodeInfo="nn">
<node role="parameter" roleId="tp25.1144104376918" type="tp25.OperationParm_Concept" typeId="tp25.1144101972840" id="3562712610789048454" nodeInfo="ng">
<node role="conceptArgument" roleId="tp25.1207343664468" type="tp25.RefConcept_Reference" typeId="tp25.1177026924588" id="3562712610789049417" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1177026940964" targetNodeId="vgt0.456733934405450312" resolveInfo="LogicVariable" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.ReferenceMacro" typeId="tpf8.1088761943574" id="3562712610789036478" nodeInfo="nn">
<property name="linkRole" nameId="tpck.1757699476691236116" value="classConcept" />
<node role="referentFunction" roleId="tpf8.1167770376702" type="tpf8.ReferenceMacro_GetReferent" typeId="tpf8.1167770111131" id="3562712610789036479" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610789036480" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610789037036" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610789037183" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf3.TemplateFunctionParameter_generationContext" typeId="tpf3.1216860049635" id="3562712610789037035" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tpf3.GenerationContextOp_GetOutputByLabelAndInput" typeId="tpf3.1216860049627" id="3562712610789038109" nodeInfo="nn">
<link role="label" roleId="tpf3.1216860049628" targetNodeId="3562712610788705323" resolveInfo="Handler_AstHelper" />
<node role="inputNode" roleId="tpf3.1216860049632" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610789038935" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="3562712610789038755" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_GetAncestorOperation" typeId="tp25.1171407110247" id="3562712610789040327" nodeInfo="nn">
<node role="parameter" roleId="tp25.1144104376918" type="tp25.OperationParm_Concept" typeId="tp25.1144101972840" id="3562712610789040329" nodeInfo="ng">
<node role="conceptArgument" roleId="tp25.1207343664468" type="tp25.RefConcept_Reference" typeId="tp25.1177026924588" id="3562712610789040632" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1177026940964" targetNodeId="vgt0.456733934405394951" resolveInfo="Handler" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.ReferenceMacro" typeId="tpf8.1088761943574" id="3562712610789041334" nodeInfo="nn">
<property name="linkRole" nameId="tpck.1757699476691236116" value="baseMethodDeclaration" />
<node role="referentFunction" roleId="tpf8.1167770376702" type="tpf8.ReferenceMacro_GetReferent" typeId="tpf8.1167770111131" id="3562712610789041335" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610789041336" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610789042042" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610789042189" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf3.TemplateFunctionParameter_generationContext" typeId="tpf3.1216860049635" id="3562712610789042041" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tpf3.GenerationContextOp_GetOutputByLabelAndInput" typeId="tpf3.1216860049627" id="3562712610789042899" nodeInfo="nn">
<link role="label" roleId="tpf3.1216860049628" targetNodeId="3562712610788770705" resolveInfo="Ast_Method" />
<node role="inputNode" roleId="tpf3.1216860049632" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="3562712610789043383" nodeInfo="nn" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="defaultConsequence" roleId="tpf8.1195158241124" type="tpf8.TemplateDeclarationReference" typeId="tpf8.1168559333462" id="3562712610789159133" nodeInfo="nn">
<link role="template" roleId="tpf8.1722980698497626483" targetNodeId="3562712610789138197" resolveInfo="Ast_Builder" />
</node>
</node>
</node>
<node role="reductionMappingRule" roleId="tpf8.1167328349397" type="tpf8.Reduction_MappingRule" typeId="tpf8.1167327847730" id="1611448358171695123" nodeInfo="ng">
<link role="applicableConcept" roleId="tpf8.1167169349424" targetNodeId="5j4j.1611448358170966948" resolveInfo="Variable" />
<node role="ruleConsequence" roleId="tpf8.1169672767469" type="tpf8.InlineSwitch_RuleConsequence" typeId="tpf8.1195158154974" id="1611448358171695124" nodeInfo="ng">
<node role="case" roleId="tpf8.1195158408710" type="tpf8.InlineSwitch_Case" typeId="tpf8.1195158388553" id="1611448358171695125" nodeInfo="ng">
<node role="conditionFunction" roleId="tpf8.1195158608805" type="tpf8.BaseMappingRule_Condition" typeId="tpf8.1167168920554" id="1611448358171695126" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1611448358171695127" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3608339284320058315" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3608339284320058316" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3608339284320058317" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp25.SPropertyAccess" typeId="tp25.1138056022639" id="3608339284320058318" nodeInfo="nn">
<link role="property" roleId="tp25.1138056395725" targetNodeId="5j4j.7571593955706137428" resolveInfo="cardinality" />
</node>
<node role="operand" roleId="tpee.1197027771414" type="tp25.SNodeTypeCastExpression" typeId="tp25.1140137987495" id="3608339284320058319" nodeInfo="nn">
<property name="asCast" nameId="tp25.1238684351431" value="true" />
<link role="concept" roleId="tp25.1140138128738" targetNodeId="5j4j.7571593955706137189" resolveInfo="Role" />
<node role="leftExpression" roleId="tp25.1140138123956" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3608339284320058320" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="3608339284320058321" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_GetParentOperation" typeId="tp25.1139613262185" id="3608339284320058322" nodeInfo="nn" />
</node>
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Property_HasValue_Enum" typeId="tp25.1146171026731" id="3608339284320058323" nodeInfo="nn">
<node role="value" roleId="tp25.1146171026732" type="tp25.EnumMemberReference" typeId="tp25.1138676077309" id="3608339284320058324" nodeInfo="nn">
<link role="enumMember" roleId="tp25.1138676095763" targetNodeId="5j4j.7571593955706137345" />
</node>
</node>
</node>
</node>
</node>
</node>
<node role="caseConsequence" roleId="tpf8.1195158637244" type="tpf8.InlineTemplate_RuleConsequence" typeId="tpf8.1177093525992" id="1611448358171695158" nodeInfo="ng">
<node role="templateNode" roleId="tpf8.1177093586806" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="1611448358171695159" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="name" />
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.PropertyMacro" typeId="tpf8.1087833241328" id="1611448358171695160" nodeInfo="nn">
<property name="propertyName" nameId="tpck.1757699476691236117" value="value" />
<node role="propertyValueFunction" roleId="tpf8.1167756362303" type="tpf8.PropertyMacro_GetPropertyValue" typeId="tpf8.1167756080639" id="1611448358171695161" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1611448358171695162" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1611448358171695163" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1611448358171695164" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="1611448358171695165" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.SPropertyAccess" typeId="tp25.1138056022639" id="1611448358171695166" nodeInfo="nn">
<link role="property" roleId="tp25.1138056395725" targetNodeId="tpck.1169194664001" resolveInfo="name" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="defaultConsequence" roleId="tpf8.1195158241124" type="tpf8.InlineTemplate_RuleConsequence" typeId="tpf8.1177093525992" id="1611448358171707892" nodeInfo="ng">
<node role="templateNode" roleId="tpf8.1177093586806" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="1611448358171883403" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="ie8e.554885619701733101" resolveInfo="create" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="ie8e.554885619701687108" resolveInfo="Variable" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="1611448358171883443" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="name" />
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.PropertyMacro" typeId="tpf8.1087833241328" id="1611448358171883511" nodeInfo="nn">
<property name="propertyName" nameId="tpck.1757699476691236117" value="value" />
<node role="propertyValueFunction" roleId="tpf8.1167756362303" type="tpf8.PropertyMacro_GetPropertyValue" typeId="tpf8.1167756080639" id="1611448358171883512" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1611448358171883513" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1611448358171884210" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1611448358171884502" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="1611448358171884209" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.SPropertyAccess" typeId="tp25.1138056022639" id="1611448358171885527" nodeInfo="nn">
<link role="property" roleId="tp25.1138056395725" targetNodeId="tpck.1169194664001" resolveInfo="name" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="reductionMappingRule" roleId="tpf8.1167328349397" type="tpf8.Reduction_MappingRule" typeId="tpf8.1167327847730" id="7932111957678686403" nodeInfo="ng">
<link role="applicableConcept" roleId="tpf8.1167169349424" targetNodeId="5j4j.7932111957678624766" resolveInfo="ExpressionVariable" />
<node role="ruleConsequence" roleId="tpf8.1169672767469" type="tpf8.InlineSwitch_RuleConsequence" typeId="tpf8.1195158154974" id="7932111957678694502" nodeInfo="ng">
<node role="case" roleId="tpf8.1195158408710" type="tpf8.InlineSwitch_Case" typeId="tpf8.1195158388553" id="7932111957678694503" nodeInfo="ng">
<node role="conditionFunction" roleId="tpf8.1195158608805" type="tpf8.BaseMappingRule_Condition" typeId="tpf8.1167168920554" id="7932111957678694504" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="7932111957678694505" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3608339284320051497" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3608339284320051498" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3608339284320051499" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp25.SPropertyAccess" typeId="tp25.1138056022639" id="3608339284320051501" nodeInfo="nn">
<link role="property" roleId="tp25.1138056395725" targetNodeId="5j4j.7571593955706137428" resolveInfo="cardinality" />
</node>
<node role="operand" roleId="tpee.1197027771414" type="tp25.SNodeTypeCastExpression" typeId="tp25.1140137987495" id="3608339284320052696" nodeInfo="nn">
<property name="asCast" nameId="tp25.1238684351431" value="true" />
<link role="concept" roleId="tp25.1140138128738" targetNodeId="5j4j.7571593955706137189" resolveInfo="Role" />
<node role="leftExpression" roleId="tp25.1140138123956" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3608339284320052697" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="3608339284320052698" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_GetParentOperation" typeId="tp25.1139613262185" id="3608339284320052699" nodeInfo="nn" />
</node>
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Property_HasValue_Enum" typeId="tp25.1146171026731" id="3608339284320051502" nodeInfo="nn">
<node role="value" roleId="tp25.1146171026732" type="tp25.EnumMemberReference" typeId="tp25.1138676077309" id="3608339284320051503" nodeInfo="nn">
<link role="enumMember" roleId="tp25.1138676095763" targetNodeId="5j4j.7571593955706137345" />
</node>
</node>
</node>
</node>
</node>
</node>
<node role="caseConsequence" roleId="tpf8.1195158637244" type="tpf8.InlineTemplate_RuleConsequence" typeId="tpf8.1177093525992" id="7932111957678694526" nodeInfo="ng">
<node role="templateNode" roleId="tpf8.1177093586806" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="7932111957678697160" nodeInfo="nn">
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.CopySrcNodeMacro" typeId="tpf8.1114706874351" id="7932111957678697284" nodeInfo="nn">
<node role="sourceNodeQuery" roleId="tpf8.1168024447342" type="tpf8.SourceSubstituteMacro_SourceNodeQuery" typeId="tpf8.1168024337012" id="7932111957678697401" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="7932111957678697402" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7932111957678697841" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7932111957678697975" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="7932111957678697840" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="7932111957678698647" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="5j4j.7932111957678625620" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="defaultConsequence" roleId="tpf8.1195158241124" type="tpf8.InlineTemplate_RuleConsequence" typeId="tpf8.1177093525992" id="7932111957678694535" nodeInfo="ng">
<node role="templateNode" roleId="tpf8.1177093586806" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="7932111957678694536" nodeInfo="nn">
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="ie8e.554885619701687108" resolveInfo="Variable" />
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="ie8e.554885619701733101" resolveInfo="create" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="7932111957678699623" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="" />
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.CopySrcNodeMacro" typeId="tpf8.1114706874351" id="7932111957678699790" nodeInfo="nn">
<node role="sourceNodeQuery" roleId="tpf8.1168024447342" type="tpf8.SourceSubstituteMacro_SourceNodeQuery" typeId="tpf8.1168024337012" id="7932111957678699874" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="7932111957678699875" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="7932111957678700011" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="7932111957678700145" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="7932111957678700010" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="7932111957678700777" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="5j4j.7932111957678625620" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="reductionMappingRule" roleId="tpf8.1167328349397" type="tpf8.Reduction_MappingRule" typeId="tpf8.1167327847730" id="1611448358168268755" nodeInfo="ng">
<link role="applicableConcept" roleId="tpf8.1167169349424" targetNodeId="5j4j.7571593955706137125" resolveInfo="Node" />
<node role="ruleConsequence" roleId="tpf8.1169672767469" type="tpf8.InlineTemplate_RuleConsequence" typeId="tpf8.1177093525992" id="1611448358168269080" nodeInfo="ng">
<node role="templateNode" roleId="tpf8.1177093586806" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="1611448358168269105" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="tqye.2154023965590690192" resolveInfo="node" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="tqye.2154023965590888595" resolveInfo="AstBuilder" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.NullLiteral" typeId="tpee.1070534058343" id="1611448358168272633" nodeInfo="nn">
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.CopySrcListMacro" typeId="tpf8.1114729360583" id="1611448358168391220" nodeInfo="nn">
<node role="sourceNodesQuery" roleId="tpf8.1168278589236" type="tpf8.SourceSubstituteMacro_SourceNodesQuery" typeId="tpf8.1167951910403" id="1611448358168391222" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1611448358168391223" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1611448358168391224" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788448510" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788432664" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1611448358168391225" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkListAccess" typeId="tp25.1138056282393" id="1611448358168391226" nodeInfo="nn">
<link role="link" roleId="tp25.1138056546658" targetNodeId="5j4j.7571593955706284441" />
</node>
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="1611448358168391227" nodeInfo="nn" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.WhereOperation" typeId="tp2q.1202120902084" id="3562712610788497991" nodeInfo="nn">
<node role="closure" roleId="tp2q.1204796294226" type="tp2c.ClosureLiteral" typeId="tp2c.1199569711397" id="3562712610788497993" nodeInfo="nn">
<node role="body" roleId="tp2c.1199569916463" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610788497994" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610788497995" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788497996" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788497997" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610788498000" resolveInfo="it" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_IsInstanceOfOperation" typeId="tp25.1139621453865" id="3562712610788497998" nodeInfo="nn">
<node role="conceptArgument" roleId="tp25.1177027386292" type="tp25.RefConcept_Reference" typeId="tp25.1177026924588" id="3562712610788497999" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1177026940964" targetNodeId="5j4j.7571593955706137472" resolveInfo="ValueRole" />
</node>
</node>
</node>
</node>
</node>
<node role="parameter" roleId="tp2c.1199569906740" type="tp2q.SmartClosureParameterDeclaration" typeId="tp2q.1203518072036" id="3562712610788498000" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="it" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.UndefinedType" typeId="tpee.4836112446988635817" id="3562712610788498001" nodeInfo="in" />
</node>
</node>
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.ConcatOperation" typeId="tp2q.1180964022718" id="3562712610788455162" nodeInfo="nn">
<node role="rightExpression" roleId="tp2q.1176906787974" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788465544" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788457547" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="3562712610788456884" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkListAccess" typeId="tp25.1138056282393" id="3562712610788460169" nodeInfo="nn">
<link role="link" roleId="tp25.1138056546658" targetNodeId="5j4j.7571593955706284441" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.WhereOperation" typeId="tp2q.1202120902084" id="3562712610788503586" nodeInfo="nn">
<node role="closure" roleId="tp2q.1204796294226" type="tp2c.ClosureLiteral" typeId="tp2c.1199569711397" id="3562712610788503588" nodeInfo="nn">
<node role="body" roleId="tp2c.1199569916463" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610788503589" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610788503590" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788503591" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.VariableReference" typeId="tpee.1068498886296" id="3562712610788503592" nodeInfo="nn">
<link role="variableDeclaration" roleId="tpee.1068581517664" targetNodeId="3562712610788503595" resolveInfo="it" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_IsInstanceOfOperation" typeId="tp25.1139621453865" id="3562712610788503593" nodeInfo="nn">
<node role="conceptArgument" roleId="tp25.1177027386292" type="tp25.RefConcept_Reference" typeId="tp25.1177026924588" id="3562712610788503594" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1177026940964" targetNodeId="5j4j.7571593955706137263" resolveInfo="ChildRole" />
</node>
</node>
</node>
</node>
</node>
<node role="parameter" roleId="tp2c.1199569906740" type="tp2q.SmartClosureParameterDeclaration" typeId="tp2q.1203518072036" id="3562712610788503595" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="it" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.UndefinedType" typeId="tpee.4836112446988635817" id="3562712610788503596" nodeInfo="in" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="reductionMappingRule" roleId="tpf8.1167328349397" type="tpf8.Reduction_MappingRule" typeId="tpf8.1167327847730" id="222732967751830845" nodeInfo="ng">
<link role="applicableConcept" roleId="tpf8.1167169349424" targetNodeId="5j4j.4310122986197990603" resolveInfo="ExpressionNode" />
<node role="ruleConsequence" roleId="tpf8.1169672767469" type="tpf8.InlineSwitch_RuleConsequence" typeId="tpf8.1195158154974" id="222732967751901198" nodeInfo="ng">
<node role="case" roleId="tpf8.1195158408710" type="tpf8.InlineSwitch_Case" typeId="tpf8.1195158388553" id="222732967751901204" nodeInfo="ng">
<node role="conditionFunction" roleId="tpf8.1195158608805" type="tpf8.BaseMappingRule_Condition" typeId="tpf8.1167168920554" id="222732967751901205" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="222732967751901206" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="222732967752013006" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="222732967752209612" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpd4.CoerceExpression" typeId="tpd4.1178870617262" id="222732967752013000" nodeInfo="nn">
<node role="pattern" roleId="tpd4.1178870894644" type="tpd4.PatternCondition" typeId="tpd4.1174642900584" id="222732967752024353" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="tl" />
<node role="pattern" roleId="tpd4.1174642936809" type="tp3t.PatternExpression" typeId="tp3t.1136720037777" id="222732967752024355" nodeInfo="in">
<node role="patternNode" roleId="tp3t.1136720037778" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="222732967752207567" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="oy3s.5667087533488031231" resolveInfo="TreeLogical" />
</node>
</node>
</node>
<node role="nodeToCoerce" roleId="tpd4.1178870894645" type="tpee.DotExpression" typeId="tpee.1197027756228" id="222732967752023399" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="222732967752023400" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="222732967752023401" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="222732967752023402" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="5j4j.4310122986197991094" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpd4.Node_TypeOperation" typeId="tpd4.1176544042499" id="222732967752023403" nodeInfo="nn" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_IsNotNullOperation" typeId="tp25.1172008320231" id="222732967752212512" nodeInfo="nn" />
</node>
</node>
</node>
</node>
<node role="caseConsequence" roleId="tpf8.1195158637244" type="tpf8.InlineTemplate_RuleConsequence" typeId="tpf8.1177093525992" id="222732967752215251" nodeInfo="ng">
<node role="templateNode" roleId="tpf8.1177093586806" type="tpee.DotExpression" typeId="tpee.1197027756228" id="222732967752225704" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.ParenthesizedExpression" typeId="tpee.1079359253375" id="2079564643614974937" nodeInfo="nn">
<node role="expression" roleId="tpee.1079359253376" type="tpee.CastExpression" typeId="tpee.1070534934090" id="2079564643614974934" nodeInfo="nn">
<node role="type" roleId="tpee.1070534934091" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="2079564643614975597" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="oy3s.5667087533488031231" resolveInfo="TreeLogical" />
</node>
<node role="expression" roleId="tpee.1070534934092" type="tpee.NullLiteral" typeId="tpee.1070534058343" id="222732967752222171" nodeInfo="nn">
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.CopySrcNodeMacro" typeId="tpf8.1114706874351" id="222732967752223224" nodeInfo="nn">
<node role="sourceNodeQuery" roleId="tpf8.1168024447342" type="tpf8.SourceSubstituteMacro_SourceNodeQuery" typeId="tpf8.1168024337012" id="222732967752223225" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="222732967752223226" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="222732967752223232" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="222732967752223227" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="222732967752223230" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="5j4j.4310122986197991094" />
</node>
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="222732967752223231" nodeInfo="nn" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="222732967752228552" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="oy3s.2079564643614495657" resolveInfo="toTreePart" />
</node>
</node>
</node>
</node>
<node role="defaultConsequence" roleId="tpf8.1195158241124" type="tpf8.InlineTemplate_RuleConsequence" typeId="tpf8.1177093525992" id="222732967752229765" nodeInfo="ng">
<node role="templateNode" roleId="tpf8.1177093586806" type="tpee.NullLiteral" typeId="tpee.1070534058343" id="222732967752229766" nodeInfo="nn">
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.CopySrcNodeMacro" typeId="tpf8.1114706874351" id="222732967752229767" nodeInfo="nn">
<node role="sourceNodeQuery" roleId="tpf8.1168024447342" type="tpf8.SourceSubstituteMacro_SourceNodeQuery" typeId="tpf8.1168024337012" id="222732967752229768" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="222732967752229769" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="222732967752229770" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="222732967752229771" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="222732967752229772" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="5j4j.4310122986197991094" />
</node>
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="222732967752229773" nodeInfo="nn" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="reductionMappingRule" roleId="tpf8.1167328349397" type="tpf8.Reduction_MappingRule" typeId="tpf8.1167327847730" id="1503029990072303" nodeInfo="ng">
<link role="applicableConcept" roleId="tpf8.1167169349424" targetNodeId="5j4j.7571593955706137472" resolveInfo="ValueRole" />
<node role="ruleConsequence" roleId="tpf8.1169672767469" type="tpf8.InlineSwitch_RuleConsequence" typeId="tpf8.1195158154974" id="1503029990072304" nodeInfo="ng">
<node role="case" roleId="tpf8.1195158408710" type="tpf8.InlineSwitch_Case" typeId="tpf8.1195158388553" id="1503029990072305" nodeInfo="ng">
<node role="conditionFunction" roleId="tpf8.1195158608805" type="tpf8.BaseMappingRule_Condition" typeId="tpf8.1167168920554" id="1503029990072306" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1503029990072307" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1503029990086465" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.NotExpression" typeId="tpee.1081516740877" id="1503029990110475" nodeInfo="nn">
<node role="expression" roleId="tpee.1081516765348" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029990110476" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029990110477" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029990110478" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="1503029990110479" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkListAccess" typeId="tp25.1138056282393" id="1503029990110480" nodeInfo="nn">
<link role="link" roleId="tp25.1138056546658" targetNodeId="5j4j.7571593955706137672" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.GetFirstOperation" typeId="tp2q.1165525191778" id="1503029990110481" nodeInfo="nn" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_IsInstanceOfOperation" typeId="tp25.1139621453865" id="1503029990110482" nodeInfo="nn">
<node role="conceptArgument" roleId="tp25.1177027386292" type="tp25.RefConcept_Reference" typeId="tp25.1177026924588" id="6097361656509291310" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1177026940964" targetNodeId="5j4j.7932111957678703067" resolveInfo="AbstractVariable" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="caseConsequence" roleId="tpf8.1195158637244" type="tpf8.InlineTemplate_RuleConsequence" typeId="tpf8.1177093525992" id="1503029990072315" nodeInfo="ng">
<node role="templateNode" roleId="tpf8.1177093586806" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="1503029990072316" nodeInfo="nn">
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="ie8e.6626732309150452506" resolveInfo="Builder" />
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="ie8e.6626732309150452613" resolveInfo="value" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="1503029990072317" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="name" />
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.PropertyMacro" typeId="tpf8.1087833241328" id="1503029990072318" nodeInfo="nn">
<property name="propertyName" nameId="tpck.1757699476691236117" value="value" />
<node role="propertyValueFunction" roleId="tpf8.1167756362303" type="tpf8.PropertyMacro_GetPropertyValue" typeId="tpf8.1167756080639" id="1503029990072319" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1503029990072320" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1503029990072321" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029990072322" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="1503029990072323" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.SPropertyAccess" typeId="tp25.1138056022639" id="1503029990072324" nodeInfo="nn">
<link role="property" roleId="tp25.1138056395725" targetNodeId="tpck.1169194664001" resolveInfo="name" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.NullLiteral" typeId="tpee.1070534058343" id="1503029990072325" nodeInfo="nn">
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.CopySrcListMacro" typeId="tpf8.1114729360583" id="1503029990072326" nodeInfo="nn">
<node role="sourceNodesQuery" roleId="tpf8.1168278589236" type="tpf8.SourceSubstituteMacro_SourceNodesQuery" typeId="tpf8.1167951910403" id="1503029990072327" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1503029990072328" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1503029990072329" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029990072330" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkListAccess" typeId="tp25.1138056282393" id="1503029990072331" nodeInfo="nn">
<link role="link" roleId="tp25.1138056546658" targetNodeId="5j4j.7571593955706137672" />
</node>
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="1503029990072332" nodeInfo="nn" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="defaultConsequence" roleId="tpf8.1195158241124" type="tpf8.InlineTemplate_RuleConsequence" typeId="tpf8.1177093525992" id="1503029990131697" nodeInfo="ng">
<node role="templateNode" roleId="tpf8.1177093586806" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="1503029990131698" nodeInfo="nn">
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="ie8e.6626732309150452506" resolveInfo="Builder" />
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="ie8e.554885619701881360" resolveInfo="variable" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="1503029990131699" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="name" />
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.PropertyMacro" typeId="tpf8.1087833241328" id="1503029990131700" nodeInfo="nn">
<property name="propertyName" nameId="tpck.1757699476691236117" value="value" />
<node role="propertyValueFunction" roleId="tpf8.1167756362303" type="tpf8.PropertyMacro_GetPropertyValue" typeId="tpf8.1167756080639" id="1503029990131701" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1503029990131702" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1503029990131703" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029990131704" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="1503029990131705" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.SPropertyAccess" typeId="tp25.1138056022639" id="1503029990131706" nodeInfo="nn">
<link role="property" roleId="tp25.1138056395725" targetNodeId="tpck.1169194664001" resolveInfo="name" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.NullLiteral" typeId="tpee.1070534058343" id="1503029990131707" nodeInfo="nn">
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.CopySrcListMacro" typeId="tpf8.1114729360583" id="1503029990131708" nodeInfo="nn">
<node role="sourceNodesQuery" roleId="tpf8.1168278589236" type="tpf8.SourceSubstituteMacro_SourceNodesQuery" typeId="tpf8.1167951910403" id="1503029990131709" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1503029990131710" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1503029990131711" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029990131712" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkListAccess" typeId="tp25.1138056282393" id="1503029990136203" nodeInfo="nn">
<link role="link" roleId="tp25.1138056546658" targetNodeId="5j4j.7571593955706137672" />
</node>
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="1503029990131714" nodeInfo="nn" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="conditionFunction" roleId="tpf8.1167169362365" type="tpf8.BaseMappingRule_Condition" typeId="tpf8.1167168920554" id="1503029990080498" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1503029990080499" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="6097361656509760304" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="6097361656509760664" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="TODO merge with other role" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1503029990083670" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029990083671" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029990083672" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="1503029990083673" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.SPropertyAccess" typeId="tp25.1138056022639" id="1503029990083674" nodeInfo="nn">
<link role="property" roleId="tp25.1138056395725" targetNodeId="5j4j.7571593955706137428" resolveInfo="cardinality" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Property_HasValue_Enum" typeId="tp25.1146171026731" id="1503029990083675" nodeInfo="nn">
<node role="value" roleId="tp25.1146171026732" type="tp25.EnumMemberReference" typeId="tp25.1138676077309" id="1503029990083676" nodeInfo="nn">
<link role="enumMember" roleId="tp25.1138676095763" targetNodeId="5j4j.7571593955706137345" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="reductionMappingRule" roleId="tpf8.1167328349397" type="tpf8.Reduction_MappingRule" typeId="tpf8.1167327847730" id="1503029990112793" nodeInfo="ng">
<link role="applicableConcept" roleId="tpf8.1167169349424" targetNodeId="5j4j.7571593955706137472" resolveInfo="ValueRole" />
<node role="conditionFunction" roleId="tpf8.1167169362365" type="tpf8.BaseMappingRule_Condition" typeId="tpf8.1167168920554" id="1503029990112844" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1503029990112845" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.SingleLineComment" typeId="tpee.6329021646629104954" id="6097361656509762176" nodeInfo="nn">
<node role="commentPart" roleId="tpee.6329021646629175155" type="tpee.TextCommentPart" typeId="tpee.6329021646629104957" id="6097361656509763016" nodeInfo="nn">
<property name="text" nameId="tpee.6329021646629104958" value="TODO merge with other role" />
</node>
</node>
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1503029990112846" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029990112847" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029990112848" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="1503029990112849" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.SPropertyAccess" typeId="tp25.1138056022639" id="1503029990112850" nodeInfo="nn">
<link role="property" roleId="tp25.1138056395725" targetNodeId="5j4j.7571593955706137428" resolveInfo="cardinality" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Property_HasValue_Enum" typeId="tp25.1146171026731" id="1503029990112851" nodeInfo="nn">
<node role="value" roleId="tp25.1146171026732" type="tp25.EnumMemberReference" typeId="tp25.1138676077309" id="1503029990112852" nodeInfo="nn">
<link role="enumMember" roleId="tp25.1138676095763" targetNodeId="5j4j.7571593955706137407" />
</node>
</node>
</node>
</node>
</node>
</node>
<node role="ruleConsequence" roleId="tpf8.1169672767469" type="tpf8.InlineTemplate_RuleConsequence" typeId="tpf8.1177093525992" id="1503029990112826" nodeInfo="ng">
<node role="templateNode" roleId="tpf8.1177093586806" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="6270176708454008595" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="ie8e.6270176708454008542" resolveInfo="valueList" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="ie8e.6626732309150452506" resolveInfo="Builder" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="1503029990112828" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="name" />
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.PropertyMacro" typeId="tpf8.1087833241328" id="1503029990112829" nodeInfo="nn">
<property name="propertyName" nameId="tpck.1757699476691236117" value="value" />
<node role="propertyValueFunction" roleId="tpf8.1167756362303" type="tpf8.PropertyMacro_GetPropertyValue" typeId="tpf8.1167756080639" id="1503029990112830" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1503029990112831" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1503029990112832" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029990112833" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="1503029990112834" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.SPropertyAccess" typeId="tp25.1138056022639" id="1503029990112835" nodeInfo="nn">
<link role="property" roleId="tp25.1138056395725" targetNodeId="tpck.1169194664001" resolveInfo="name" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.NullLiteral" typeId="tpee.1070534058343" id="1503029990112836" nodeInfo="nn">
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.CopySrcListMacro" typeId="tpf8.1114729360583" id="1503029990112837" nodeInfo="nn">
<node role="sourceNodesQuery" roleId="tpf8.1168278589236" type="tpf8.SourceSubstituteMacro_SourceNodesQuery" typeId="tpf8.1167951910403" id="1503029990112838" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1503029990112839" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1503029990112840" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1503029990112841" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkListAccess" typeId="tp25.1138056282393" id="1503029990112842" nodeInfo="nn">
<link role="link" roleId="tp25.1138056546658" targetNodeId="5j4j.7571593955706137672" />
</node>
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="1503029990112843" nodeInfo="nn" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="reductionMappingRule" roleId="tpf8.1167328349397" type="tpf8.Reduction_MappingRule" typeId="tpf8.1167327847730" id="1611448358168638771" nodeInfo="ng">
<link role="applicableConcept" roleId="tpf8.1167169349424" targetNodeId="5j4j.7571593955706137263" resolveInfo="ChildRole" />
<node role="ruleConsequence" roleId="tpf8.1169672767469" type="tpf8.InlineSwitch_RuleConsequence" typeId="tpf8.1195158154974" id="1611448358168642757" nodeInfo="ng">
<node role="case" roleId="tpf8.1195158408710" type="tpf8.InlineSwitch_Case" typeId="tpf8.1195158388553" id="1611448358168642763" nodeInfo="ng">
<node role="conditionFunction" roleId="tpf8.1195158608805" type="tpf8.BaseMappingRule_Condition" typeId="tpf8.1167168920554" id="1611448358168642764" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1611448358168642765" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1611448358171463616" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.NotExpression" typeId="tpee.1081516740877" id="1611448358171494644" nodeInfo="nn">
<node role="expression" roleId="tpee.1081516765348" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1611448358171494645" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1611448358171494646" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1611448358171494647" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="1611448358171494648" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkListAccess" typeId="tp25.1138056282393" id="1611448358171494649" nodeInfo="nn">
<link role="link" roleId="tp25.1138056546658" targetNodeId="5j4j.7571593955706137319" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp2q.GetFirstOperation" typeId="tp2q.1165525191778" id="1611448358171494650" nodeInfo="nn" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_IsInstanceOfOperation" typeId="tp25.1139621453865" id="1611448358171494651" nodeInfo="nn">
<node role="conceptArgument" roleId="tp25.1177027386292" type="tp25.RefConcept_Reference" typeId="tp25.1177026924588" id="7932111957678708833" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1177026940964" targetNodeId="5j4j.7932111957678703067" resolveInfo="AbstractVariable" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="caseConsequence" roleId="tpf8.1195158637244" type="tpf8.InlineTemplate_RuleConsequence" typeId="tpf8.1177093525992" id="1611448358168644604" nodeInfo="ng">
<node role="templateNode" roleId="tpf8.1177093586806" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="1611448358168644605" nodeInfo="nn">
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="ie8e.6626732309150452506" resolveInfo="Builder" />
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="ie8e.6626732309150501079" resolveInfo="child" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="1611448358168644606" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="name" />
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.PropertyMacro" typeId="tpf8.1087833241328" id="1611448358168644607" nodeInfo="nn">
<property name="propertyName" nameId="tpck.1757699476691236117" value="value" />
<node role="propertyValueFunction" roleId="tpf8.1167756362303" type="tpf8.PropertyMacro_GetPropertyValue" typeId="tpf8.1167756080639" id="1611448358168644608" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1611448358168644609" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1611448358168644610" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1611448358168644611" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="1611448358168644612" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.SPropertyAccess" typeId="tp25.1138056022639" id="1611448358168644613" nodeInfo="nn">
<link role="property" roleId="tp25.1138056395725" targetNodeId="tpck.1169194664001" resolveInfo="name" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.NullLiteral" typeId="tpee.1070534058343" id="1611448358168644614" nodeInfo="nn">
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.CopySrcListMacro" typeId="tpf8.1114729360583" id="1611448358168644615" nodeInfo="nn">
<node role="sourceNodesQuery" roleId="tpf8.1168278589236" type="tpf8.SourceSubstituteMacro_SourceNodesQuery" typeId="tpf8.1167951910403" id="1611448358168644616" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1611448358168644617" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1611448358168644618" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1611448358168644619" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkListAccess" typeId="tp25.1138056282393" id="1611448358168644620" nodeInfo="nn">
<link role="link" roleId="tp25.1138056546658" targetNodeId="5j4j.7571593955706137319" />
</node>
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="1611448358168644621" nodeInfo="nn" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="defaultConsequence" roleId="tpf8.1195158241124" type="tpf8.InlineTemplate_RuleConsequence" typeId="tpf8.1177093525992" id="1611448358171657385" nodeInfo="ng">
<node role="templateNode" roleId="tpf8.1177093586806" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="1611448358171660383" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="ie8e.554885619701881360" resolveInfo="variable" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="ie8e.6626732309150452506" resolveInfo="Builder" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="1611448358171660384" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="name" />
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.PropertyMacro" typeId="tpf8.1087833241328" id="1611448358171660385" nodeInfo="nn">
<property name="propertyName" nameId="tpck.1757699476691236117" value="value" />
<node role="propertyValueFunction" roleId="tpf8.1167756362303" type="tpf8.PropertyMacro_GetPropertyValue" typeId="tpf8.1167756080639" id="1611448358171660386" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1611448358171660387" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1611448358171660388" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1611448358171660389" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="1611448358171660390" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.SPropertyAccess" typeId="tp25.1138056022639" id="1611448358171660391" nodeInfo="nn">
<link role="property" roleId="tp25.1138056395725" targetNodeId="tpck.1169194664001" resolveInfo="name" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.NullLiteral" typeId="tpee.1070534058343" id="1611448358171660392" nodeInfo="nn">
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.CopySrcListMacro" typeId="tpf8.1114729360583" id="1611448358171660393" nodeInfo="nn">
<node role="sourceNodesQuery" roleId="tpf8.1168278589236" type="tpf8.SourceSubstituteMacro_SourceNodesQuery" typeId="tpf8.1167951910403" id="1611448358171660394" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1611448358171660395" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1611448358171660396" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1611448358171660397" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkListAccess" typeId="tp25.1138056282393" id="1611448358171660398" nodeInfo="nn">
<link role="link" roleId="tp25.1138056546658" targetNodeId="5j4j.7571593955706137319" />
</node>
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="1611448358171660399" nodeInfo="nn" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="conditionFunction" roleId="tpf8.1167169362365" type="tpf8.BaseMappingRule_Condition" typeId="tpf8.1167168920554" id="1611448358171460998" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1611448358171460999" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3608339284320034021" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3608339284320037318" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3608339284320034416" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="3608339284320034019" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.SPropertyAccess" typeId="tp25.1138056022639" id="3608339284320035696" nodeInfo="nn">
<link role="property" roleId="tp25.1138056395725" targetNodeId="5j4j.7571593955706137428" resolveInfo="cardinality" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Property_HasValue_Enum" typeId="tp25.1146171026731" id="3608339284320044864" nodeInfo="nn">
<node role="value" roleId="tp25.1146171026732" type="tp25.EnumMemberReference" typeId="tp25.1138676077309" id="3608339284320044866" nodeInfo="nn">
<link role="enumMember" roleId="tp25.1138676095763" targetNodeId="5j4j.7571593955706137345" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="reductionMappingRule" roleId="tpf8.1167328349397" type="tpf8.Reduction_MappingRule" typeId="tpf8.1167327847730" id="1611448358171465868" nodeInfo="ng">
<link role="applicableConcept" roleId="tpf8.1167169349424" targetNodeId="5j4j.7571593955706137263" resolveInfo="ChildRole" />
<node role="conditionFunction" roleId="tpf8.1167169362365" type="tpf8.BaseMappingRule_Condition" typeId="tpf8.1167168920554" id="1611448358171465960" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1611448358171465961" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3608339284320065365" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3608339284320069076" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3608339284320065760" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="3608339284320065363" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.SPropertyAccess" typeId="tp25.1138056022639" id="3608339284320067040" nodeInfo="nn">
<link role="property" roleId="tp25.1138056395725" targetNodeId="5j4j.7571593955706137428" resolveInfo="cardinality" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tp25.Property_HasValue_Enum" typeId="tp25.1146171026731" id="3608339284320073364" nodeInfo="nn">
<node role="value" roleId="tp25.1146171026732" type="tp25.EnumMemberReference" typeId="tp25.1138676077309" id="3608339284320073366" nodeInfo="nn">
<link role="enumMember" roleId="tp25.1138676095763" targetNodeId="5j4j.7571593955706137407" />
</node>
</node>
</node>
</node>
</node>
</node>
<node role="ruleConsequence" roleId="tpf8.1169672767469" type="tpf8.InlineTemplate_RuleConsequence" typeId="tpf8.1177093525992" id="1611448358171465942" nodeInfo="ng">
<node role="templateNode" roleId="tpf8.1177093586806" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="1611448358171465943" nodeInfo="nn">
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="tqye.2154023965590888595" resolveInfo="AstBuilder" />
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="tqye.7571593955702992294" resolveInfo="nodeList" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="1611448358171465944" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="name" />
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.PropertyMacro" typeId="tpf8.1087833241328" id="1611448358171465945" nodeInfo="nn">
<property name="propertyName" nameId="tpck.1757699476691236117" value="value" />
<node role="propertyValueFunction" roleId="tpf8.1167756362303" type="tpf8.PropertyMacro_GetPropertyValue" typeId="tpf8.1167756080639" id="1611448358171465946" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1611448358171465947" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1611448358171465948" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1611448358171465949" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="1611448358171465950" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.SPropertyAccess" typeId="tp25.1138056022639" id="1611448358171465951" nodeInfo="nn">
<link role="property" roleId="tp25.1138056395725" targetNodeId="tpck.1169194664001" resolveInfo="name" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.NullLiteral" typeId="tpee.1070534058343" id="1611448358171465952" nodeInfo="nn">
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.CopySrcListMacro" typeId="tpf8.1114729360583" id="1611448358171465953" nodeInfo="nn">
<node role="sourceNodesQuery" roleId="tpf8.1168278589236" type="tpf8.SourceSubstituteMacro_SourceNodesQuery" typeId="tpf8.1167951910403" id="1611448358171465954" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1611448358171465955" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1611448358171465956" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1611448358171465957" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkListAccess" typeId="tp25.1138056282393" id="1611448358171465958" nodeInfo="nn">
<link role="link" roleId="tp25.1138056546658" targetNodeId="5j4j.7571593955706137319" />
</node>
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="1611448358171465959" nodeInfo="nn" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="reductionMappingRule" roleId="tpf8.1167328349397" type="tpf8.Reduction_MappingRule" typeId="tpf8.1167327847730" id="1611448358168407460" nodeInfo="ng">
<link role="applicableConcept" roleId="tpf8.1167169349424" targetNodeId="5j4j.7571593955706137573" resolveInfo="ValueHolder" />
<node role="ruleConsequence" roleId="tpf8.1169672767469" type="tpf8.InlineTemplate_RuleConsequence" typeId="tpf8.1177093525992" id="1611448358168410263" nodeInfo="ng">
<node role="templateNode" roleId="tpf8.1177093586806" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="1611448358168410269" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="value" />
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.PropertyMacro" typeId="tpf8.1087833241328" id="1611448358168410284" nodeInfo="nn">
<property name="propertyName" nameId="tpck.1757699476691236117" value="value" />
<node role="propertyValueFunction" roleId="tpf8.1167756362303" type="tpf8.PropertyMacro_GetPropertyValue" typeId="tpf8.1167756080639" id="1611448358168410287" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="1611448358168410288" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="1611448358168410294" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="1611448358168410289" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp25.SPropertyAccess" typeId="tp25.1138056022639" id="1611448358168410292" nodeInfo="nn">
<link role="property" roleId="tp25.1138056395725" targetNodeId="5j4j.7571593955706137638" resolveInfo="value" />
</node>
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="1611448358168410293" nodeInfo="nn" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</root>
<root type="tpee.ClassConcept" typeId="tpee.1068390468198" id="3562712610788642008" nodeInfo="ig">
<property name="name" nameId="tpck.1169194664001" value="Forest" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="3562712610788685909" nodeInfo="ngu" />
<node role="member" roleId="tpee.5375687026011219971" type="tpee.StaticMethodDeclaration" typeId="tpee.1081236700938" id="3562712610788687307" nodeInfo="igu">
<property name="name" nameId="tpck.1169194664001" value="tree" />
<node role="parameter" roleId="tpee.1068580123134" type="tpee.ParameterDeclaration" typeId="tpee.1068498886292" id="3562712610788688769" nodeInfo="ir">
<property name="name" nameId="tpck.1169194664001" value="param" />
<node role="type" roleId="tpee.5680397130376446158" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="3562712610788689171" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="e2lb.~Object" resolveInfo="Object" />
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.CopySrcNodeMacro" typeId="tpf8.1114706874351" id="3562712610788933582" nodeInfo="nn">
<node role="sourceNodeQuery" roleId="tpf8.1168024447342" type="tpf8.SourceSubstituteMacro_SourceNodeQuery" typeId="tpf8.1168024337012" id="3562712610788935330" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610788935331" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610788936413" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788944446" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="3562712610788936412" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tpd4.Node_TypeOperation" typeId="tpd4.1176544042499" id="3562712610788956955" nodeInfo="nn" />
</node>
</node>
</node>
</node>
</node>
</node>
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.LoopMacro" typeId="tpf8.1118786554307" id="3562712610788861182" nodeInfo="nn">
<node role="sourceNodesQuery" roleId="tpf8.1167952069335" type="tpf8.SourceSubstituteMacro_SourceNodesQuery" typeId="tpf8.1167951910403" id="3562712610788861184" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610788861186" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610788862595" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788862931" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="3562712610788862594" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_GetDescendantsOperation" typeId="tp25.1171305280644" id="3562712610788868251" nodeInfo="nn">
<node role="parameter" roleId="tp25.1144104376918" type="tp25.OperationParm_Concept" typeId="tp25.1144101972840" id="3562712610788868253" nodeInfo="ng">
<node role="conceptArgument" roleId="tp25.1207343664468" type="tp25.RefConcept_Reference" typeId="tp25.1177026924588" id="3562712610788869507" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1177026940964" targetNodeId="vgt0.456733934405450312" resolveInfo="LogicVariable" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.PropertyMacro" typeId="tpf8.1087833241328" id="3562712610788961946" nodeInfo="nn">
<property name="propertyName" nameId="tpck.1757699476691236117" value="name" />
<node role="propertyValueFunction" roleId="tpf8.1167756362303" type="tpf8.PropertyMacro_GetPropertyValue" typeId="tpf8.1167756080639" id="3562712610788961947" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610788961948" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610788964292" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788964639" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="3562712610788964291" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.SPropertyAccess" typeId="tp25.1138056022639" id="3562712610788967616" nodeInfo="nn">
<link role="property" roleId="tp25.1138056395725" targetNodeId="tpck.1169194664001" resolveInfo="name" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="returnType" roleId="tpee.1068580123133" type="tpee.ClassifierType" typeId="tpee.1107535904670" id="3562712610788975047" nodeInfo="in">
<link role="classifier" roleId="tpee.1107535924139" targetNodeId="ie8e.2915549616871035972" resolveInfo="Tree" />
</node>
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="3562712610788687310" nodeInfo="nn" />
<node role="body" roleId="tpee.1068580123135" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610788687311" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610788969715" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="5j4j.Ast" typeId="5j4j.7571593955706120730" id="3562712610788969709" nodeInfo="ng">
<node role="root" roleId="5j4j.7571593955706125526" type="5j4j.Node" typeId="5j4j.7571593955706137125" id="3562712610788969711" nodeInfo="ng">
<node role="symbol" roleId="5j4j.1503029989483908" type="5j4j.Symbol" typeId="5j4j.7571593955706284481" id="3562712610788969713" nodeInfo="ng" />
</node>
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.IncludeMacro" typeId="tpf8.1194565793557" id="3562712610789165965" nodeInfo="nn">
<link role="includeTemplate" roleId="tpf8.1194566366375" targetNodeId="3562712610789138197" resolveInfo="Ast_Builder" />
</node>
</node>
</node>
</node>
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.LoopMacro" typeId="tpf8.1118786554307" id="3562712610788803914" nodeInfo="nn">
<link role="mappingLabel" roleId="tpf8.1200912223215" targetNodeId="3562712610788770705" resolveInfo="Ast_Method" />
<node role="sourceNodesQuery" roleId="tpf8.1167952069335" type="tpf8.SourceSubstituteMacro_SourceNodesQuery" typeId="tpf8.1167951910403" id="3562712610788803916" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610788803918" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610788804768" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788805565" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="3562712610788804767" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.Node_GetDescendantsOperation" typeId="tp25.1171305280644" id="3562712610788811261" nodeInfo="nn">
<node role="parameter" roleId="tp25.1144104376918" type="tp25.OperationParm_Concept" typeId="tp25.1144101972840" id="3562712610788811263" nodeInfo="ng">
<node role="conceptArgument" roleId="tp25.1207343664468" type="tp25.RefConcept_Reference" typeId="tp25.1177026924588" id="3562712610788812064" nodeInfo="nn">
<link role="conceptDeclaration" roleId="tp25.1177026940964" targetNodeId="5j4j.7571593955706120730" resolveInfo="Ast" />
</node>
</node>
<node role="parameter" roleId="tp25.1144104376918" type="tp25.OperationParm_StopConceptList" typeId="tp25.1803469493727536395" id="3562712610788813812" nodeInfo="ng">
<node role="concept" roleId="tp25.1803469493727536396" type="tp25.ConceptReference" typeId="tp25.1154546950173" id="3562712610788814924" nodeInfo="ng">
<link role="concept" roleId="tp25.1154546997487" targetNodeId="5j4j.7571593955706137125" resolveInfo="Node" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.PropertyMacro" typeId="tpf8.1087833241328" id="3562712610788821209" nodeInfo="nn">
<property name="propertyName" nameId="tpck.1757699476691236117" value="name" />
<node role="propertyValueFunction" roleId="tpf8.1167756362303" type="tpf8.PropertyMacro_GetPropertyValue" typeId="tpf8.1167756080639" id="3562712610788821210" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610788821211" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610788823035" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.PlusExpression" typeId="tpee.1068581242875" id="3562712610788827003" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788842716" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788839110" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tp25.SemanticDowncastExpression" typeId="tp25.1145404486709" id="3562712610788837918" nodeInfo="nn">
<node role="leftExpression" roleId="tp25.1145404616321" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="3562712610788828071" nodeInfo="nn" />
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="3562712610788841366" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="ec5l.~SNode%dgetNodeId()%corg%djetbrains%dmps%dopenapi%dmodel%dSNodeId" resolveInfo="getNodeId" />
</node>
</node>
<node role="operation" roleId="tpee.1197027833540" type="tpee.InstanceMethodCallOperation" typeId="tpee.1202948039474" id="3562712610788848823" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="e2lb.~Object%dtoString()%cjava%dlang%dString" resolveInfo="toString" />
</node>
</node>
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.PlusExpression" typeId="tpee.1068581242875" id="3562712610788824165" nodeInfo="nn">
<node role="leftExpression" roleId="tpee.1081773367580" type="tpf8.TemplateFunctionParameter_templatePropertyValue" typeId="tpf8.1167756221419" id="3562712610788823034" nodeInfo="nn" />
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="3562712610788824170" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="_" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node role="member" roleId="tpee.5375687026011219971" type="tpee.PlaceholderMember" typeId="tpee.1465982738277781862" id="3562712610788696487" nodeInfo="ngu" />
<node role="visibility" roleId="tpee.1178549979242" type="tpee.PublicVisibility" typeId="tpee.1146644602865" id="3562712610788642009" nodeInfo="nn" />
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.RootTemplateAnnotation" typeId="tpf8.1168619357332" id="3562712610788642010" nodeInfo="ng">
<link role="applicableConcept" roleId="tpf8.1168619429071" targetNodeId="vgt0.456733934405394951" resolveInfo="Handler" />
</node>
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.PropertyMacro" typeId="tpf8.1087833241328" id="3562712610788642947" nodeInfo="nn">
<property name="propertyName" nameId="tpck.1757699476691236117" value="name" />
<node role="propertyValueFunction" roleId="tpf8.1167756362303" type="tpf8.PropertyMacro_GetPropertyValue" typeId="tpf8.1167756080639" id="3562712610788642948" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610788642949" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610788644113" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.PlusExpression" typeId="tpee.1068581242875" id="3562712610789014443" nodeInfo="nn">
<node role="rightExpression" roleId="tpee.1081773367579" type="tpf8.TemplateFunctionParameter_templatePropertyValue" typeId="tpf8.1167756221419" id="3562712610789015871" nodeInfo="nn" />
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.PlusExpression" typeId="tpee.1068581242875" id="3562712610789010176" nodeInfo="nn">
<node role="leftExpression" roleId="tpee.1081773367580" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610788651341" nodeInfo="nn">
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="3562712610788650500" nodeInfo="nn" />
<node role="operation" roleId="tpee.1197027833540" type="tp25.SPropertyAccess" typeId="tp25.1138056022639" id="3562712610788654523" nodeInfo="nn">
<link role="property" roleId="tp25.1138056395725" targetNodeId="tpck.1169194664001" resolveInfo="name" />
</node>
</node>
<node role="rightExpression" roleId="tpee.1081773367579" type="tpee.StringLiteral" typeId="tpee.1070475926800" id="3562712610789010906" nodeInfo="nn">
<property name="value" nameId="tpee.1070475926801" value="_" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</root>
<root type="tpf8.TemplateDeclaration" typeId="tpf8.1092059087312" id="3562712610789138197" nodeInfo="ng">
<property name="name" nameId="tpck.1169194664001" value="Ast_Builder" />
<link role="applicableConcept" roleId="tpf8.1168285871518" targetNodeId="5j4j.7571593955706120730" resolveInfo="Ast" />
<node role="contentNode" roleId="tpf8.1092060348987" type="tpee.StaticMethodCall" typeId="tpee.1081236700937" id="3562712610789143692" nodeInfo="nn">
<link role="baseMethodDeclaration" roleId="tpee.1068499141037" targetNodeId="ie8e.6626732309150638723" resolveInfo="tree" />
<link role="classConcept" roleId="tpee.1144433194310" targetNodeId="ie8e.6626732309150452506" resolveInfo="Builder" />
<node role="actualArgument" roleId="tpee.1068499141038" type="tpee.NullLiteral" typeId="tpee.1070534058343" id="3562712610789143693" nodeInfo="nn">
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.CopySrcNodeMacro" typeId="tpf8.1114706874351" id="3562712610789143694" nodeInfo="nn">
<node role="sourceNodeQuery" roleId="tpf8.1168024447342" type="tpf8.SourceSubstituteMacro_SourceNodeQuery" typeId="tpf8.1168024337012" id="3562712610789143695" nodeInfo="nn">
<node role="body" roleId="tpee.1137022507850" type="tpee.StatementList" typeId="tpee.1068580123136" id="3562712610789143696" nodeInfo="sn">
<node role="statement" roleId="tpee.1068581517665" type="tpee.ExpressionStatement" typeId="tpee.1068580123155" id="3562712610789143697" nodeInfo="nn">
<node role="expression" roleId="tpee.1068580123156" type="tpee.DotExpression" typeId="tpee.1197027756228" id="3562712610789143698" nodeInfo="nn">
<node role="operation" roleId="tpee.1197027833540" type="tp25.SLinkAccess" typeId="tp25.1138056143562" id="3562712610789143699" nodeInfo="nn">
<link role="link" roleId="tp25.1138056516764" targetNodeId="5j4j.7571593955706125526" />
</node>
<node role="operand" roleId="tpee.1197027771414" type="tpf8.TemplateFunctionParameter_sourceNode" typeId="tpf8.1167169188348" id="3562712610789143700" nodeInfo="nn" />
</node>
</node>
</node>
</node>
</node>
</node>
<node role="smodelAttribute" roleId="tpck.5169995583184591170" type="tpf8.TemplateFragment" typeId="tpf8.1095672379244" id="3562712610789153458" nodeInfo="ng" />
</node>
</root>
</model>