<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
  <uml:Model xmi:id="_sha7EB8REem9r6zmWAQv1w" name="UMLDocumentStructureTemplate" URI="http://www.eclipse.org/papyrus/model2doc/uml/1.0.0/documentstructuretemplate">
    <packageImport xmi:type="uml:PackageImport" xmi:id="_ifj_IB8SEemcGrhwCFVIGw">
      <importedPackage xmi:type="uml:Model" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_qN46sB17Eem3fboELVTtYQ"/>
    </packageImport>
    <packagedElement xmi:type="uml:Class" xmi:id="_pau8kFasEemQ15mMY1nXxQ" name="StereotypePartTemplate">
      <ownedComment xmi:type="uml:Comment" xmi:id="_K_SxAFawEemQ15mMY1nXxQ" annotatedElement="_pau8kFasEemQ15mMY1nXxQ">
        <body>PartTemplate used to navigate in the stereotype application.</body>
      </ownedComment>
      <generalization xmi:type="uml:Generalization" xmi:id="_4VUtgIg5EemnhdxpIjxH_A" general="_35QYoIehEemZ0IApCJqLJw"/>
      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_UsyN4HfJEemZAtnyL46QZg" client="_pau8kFasEemQ15mMY1nXxQ" supplier="_u5PwMHfIEemZAtnyL46QZg" contract="_u5PwMHfIEemZAtnyL46QZg"/>
      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_WBW4kIg6EemnhdxpIjxH_A" client="_pau8kFasEemQ15mMY1nXxQ">
        <supplier xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_cjbRAFX-EemKJasCEBKPhQ"/>
        <contract xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_cjbRAFX-EemKJasCEBKPhQ"/>
      </interfaceRealization>
    </packagedElement>
    <packagedElement xmi:type="uml:Enumeration" xmi:id="_31YoQFasEemQ15mMY1nXxQ" name="StereotypeFilterBehavior">
      <ownedComment xmi:type="uml:Comment" xmi:id="_lOKZAFatEemQ15mMY1nXxQ" annotatedElement="_31YoQFasEemQ15mMY1nXxQ">
        <body>This enumeration allows to describe how to implement the filter rule in StereotypePartTemplate.</body>
      </ownedComment>
      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_50lf4FasEemQ15mMY1nXxQ" name="STEREOTYPE_TYPE_OF"/>
      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_9lzHsFasEemQ15mMY1nXxQ" name="STEREOTYPE_KIND_OF"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_sbLZUFatEemQ15mMY1nXxQ" name="StereotypePropertyReferencePartTemplate">
      <ownedComment xmi:type="uml:Comment" xmi:id="_fTMvEFawEemQ15mMY1nXxQ" annotatedElement="_sbLZUFatEemQ15mMY1nXxQ">
        <body>This element is used to represent a stereotype property typed with a reference (EReference in Ecore). So primitives types are not supported here.</body>
      </ownedComment>
      <generalization xmi:type="uml:Generalization" xmi:id="_QNU6kHh6EemgVsD3DibuHQ" general="_awbcAHhxEemgVsD3DibuHQ"/>
      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_2rWPUFayEemVf6VV9N5TUg" client="_sbLZUFatEemQ15mMY1nXxQ">
        <supplier xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_Pau8cFX-EemKJasCEBKPhQ"/>
        <contract xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_Pau8cFX-EemKJasCEBKPhQ"/>
      </interfaceRealization>
      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_UDqYYHfJEemZAtnyL46QZg" client="_sbLZUFatEemQ15mMY1nXxQ" supplier="_u5PwMHfIEemZAtnyL46QZg" contract="_u5PwMHfIEemZAtnyL46QZg"/>
      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_sXLIYIhYEemnhdxpIjxH_A" client="_sbLZUFatEemQ15mMY1nXxQ" supplier="_3_UPAIg-EemnhdxpIjxH_A" contract="_3_UPAIg-EemnhdxpIjxH_A"/>
      <ownedOperation xmi:type="uml:Operation" xmi:id="_0H8eEHiWEemgVsD3DibuHQ" name="getStereotypePropertyReferenceValues">
        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RRmU0HiXEemgVsD3DibuHQ" source="http://www.eclipse.org/emf/2002/GenModel">
          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S5e4oHiXEemgVsD3DibuHQ" key="body" value="final java.util.List&lt;Object> values = getStereotypePropertyValues(context);&#xA;final java.util.List&lt;org.eclipse.emf.ecore.EObject> eobjects = values.stream()&#xA;&#x9;&#x9;.filter(org.eclipse.emf.ecore.EObject.class::isInstance)&#xA;&#x9;&#x9;.map(org.eclipse.emf.ecore.EObject.class::cast)&#xA;&#x9;&#x9;.collect(java.util.stream.Collectors.toList());&#xA;return org.eclipse.emf.common.util.ECollections.toEList(eobjects);"/>
        </eAnnotations>
        <ownedComment xmi:type="uml:Comment" xmi:id="_nRs0UHiqEemFBs1cFQYujg" annotatedElement="_0H8eEHiWEemgVsD3DibuHQ">
          <body>This method returns a collection of EObject, referenced by the property of stereotype represented by this element, for the given context.</body>
        </ownedComment>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_6u8AMHiWEemgVsD3DibuHQ" name="context">
          <type xmi:type="uml:Class" href="pathmap://ECORE_METAMODEL_LIBRARY/Ecore.uml#_SeWijsX_EduPJbEsMYXjUQ"/>
        </ownedParameter>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_-KN0QHiWEemgVsD3DibuHQ" name="returnValue" direction="return">
          <type xmi:type="uml:Class" href="pathmap://ECORE_METAMODEL_LIBRARY/Ecore.uml#_SeWijsX_EduPJbEsMYXjUQ"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XxVi8HiYEemTGaLmyD8LFQ"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XyYEwHiYEemTGaLmyD8LFQ" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_4YK6UFauEemQ15mMY1nXxQ" name="CommentAsParagraph">
      <ownedComment xmi:type="uml:Comment" xmi:id="_PXzCUFawEemQ15mMY1nXxQ" annotatedElement="_4YK6UFauEemQ15mMY1nXxQ">
        <body>PartTemplate used to create paragraphs from UML Comments.</body>
      </ownedComment>
      <ownedAttribute xmi:type="uml:Property" xmi:id="_2GYBYFavEemQ15mMY1nXxQ" name="commentChoice" type="_Xp7tEFavEemQ15mMY1nXxQ">
        <ownedComment xmi:type="uml:Comment" xmi:id="_b1R2sFawEemQ15mMY1nXxQ" annotatedElement="_2GYBYFavEemQ15mMY1nXxQ">
          <body>Allow to define if we use only the first owned comments or all owned comment. </body>
        </ownedComment>
        <defaultValue xmi:type="uml:LiteralString" xmi:id="__jCwIFavEemQ15mMY1nXxQ" name="FIRST_OWNED_COMMENT" value="FIRST_OWNED_COMMENT"/>
      </ownedAttribute>
      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_58MVAFayEemVf6VV9N5TUg" client="_4YK6UFauEemQ15mMY1nXxQ">
        <supplier xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_R99HIFX-EemKJasCEBKPhQ"/>
        <contract xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_R99HIFX-EemKJasCEBKPhQ"/>
      </interfaceRealization>
      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_6mTB8FayEemVf6VV9N5TUg" client="_4YK6UFauEemQ15mMY1nXxQ">
        <supplier xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_DwGdIFYFEemKJasCEBKPhQ"/>
        <contract xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_DwGdIFYFEemKJasCEBKPhQ"/>
      </interfaceRealization>
      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_X4zogHfKEemZAtnyL46QZg" client="_4YK6UFauEemQ15mMY1nXxQ" supplier="_u5PwMHfIEemZAtnyL46QZg" contract="_u5PwMHfIEemZAtnyL46QZg"/>
      <ownedOperation xmi:type="uml:Operation" xmi:id="_wyIkwFuKEemw5fgiiQpxng" name="getMatchingComments">
        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Za800HiHEemgVsD3DibuHQ" source="http://www.eclipse.org/emf/2002/GenModel">
          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z1dmkHiHEemgVsD3DibuHQ" key="body" value="if (false == element instanceof org.eclipse.uml2.uml.Element) {&#xA;&#x9;return org.eclipse.emf.common.util.ECollections.emptyEList();&#xA;}&#xA;final java.util.List&lt;Comment> comments = ((org.eclipse.uml2.uml.Element) element).getOwnedComments().stream().filter(cmt -> cmt.getAnnotatedElements().contains(element)).collect(java.util.stream.Collectors.toList());&#xA;if (comments.isEmpty()) {&#xA;&#x9;return org.eclipse.emf.common.util.ECollections.emptyEList();&#xA;}&#xA;switch (this.commentChoice) {&#xA;case ALL_OWNED_COMMENTS:&#xA;&#x9;return org.eclipse.emf.common.util.ECollections.unmodifiableEList(comments);&#xA;case FIRST_OWNED_COMMENT:&#xA;&#x9;if (comments.size() > 0) {&#xA;&#x9;&#x9;return org.eclipse.emf.common.util.ECollections.singletonEList(comments.get(0));&#xA;&#x9;}&#xA;default:&#xA;&#x9;// not possible&#xA;&#x9;return org.eclipse.emf.common.util.ECollections.emptyEList();&#xA;}"/>
        </eAnnotations>
        <ownedComment xmi:type="uml:Comment" xmi:id="_aSR3EFuLEemw5fgiiQpxng" annotatedElement="_wyIkwFuKEemw5fgiiQpxng">
          <body>This methods returns the matching Comments. The argument is EObject, to be compliant will EMF code, it avoid us to check type before calling methods.&#xD;
</body>
        </ownedComment>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_RkfnkFuLEemw5fgiiQpxng" name="return" type="_EYLIQGESEemrtYwu2mmoHg" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8cbMMFuLEemw5fgiiQpxng"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8crq4FuLEemw5fgiiQpxng" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_0pzvAFuMEemw5fgiiQpxng" name="element">
          <type xmi:type="uml:Class" href="pathmap://ECORE_METAMODEL_LIBRARY/Ecore.uml#_SeWijsX_EduPJbEsMYXjUQ"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Enumeration" xmi:id="_Xp7tEFavEemQ15mMY1nXxQ" name="CommentChoice">
      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_ZYtjEFavEemQ15mMY1nXxQ" name="FIRST_OWNED_COMMENT"/>
      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_bCC4YFavEemQ15mMY1nXxQ" name="ALL_OWNED_COMMENTS"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Interface" xmi:id="_EYLIQGESEemrtYwu2mmoHg" name="Comment"/>
    <packagedElement xmi:type="uml:Interface" xmi:id="_u5PwMHfIEemZAtnyL46QZg" name="IUMLBodyPartTemplateTitle">
      <generalization xmi:type="uml:Generalization" xmi:id="_zXdA4HfIEemZAtnyL46QZg">
        <general xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_XvipQFYUEemiOeXIb5muwQ"/>
      </generalization>
      <ownedOperation xmi:type="uml:Operation" xmi:id="_1L8dUHfIEemZAtnyL46QZg" name="buildPartTemplateTitle">
        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1L8dUXfIEemZAtnyL46QZg" source="http://www.eclipse.org/emf/2002/GenModel">
          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1L8dUnfIEemZAtnyL46QZg" key="body" value="return org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.internal.operations.UMLBodySectionPartTemplateTitleHelper.UML_INSTANCE.buildPartTemplateTitle(this,context);"/>
        </eAnnotations>
        <ownedComment xmi:type="uml:Comment" xmi:id="_1L8dU3fIEemZAtnyL46QZg" annotatedElement="_1L8dUHfIEemZAtnyL46QZg">
          <body>This method creates the title (dedicated to element of this metamodel. &#xD;
In the general case, the ISubBodyPartTemplate uses the context element to build the title, wheareas the IBodyPartTemplate don't use it.</body>
        </ownedComment>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_1L8dVHfIEemZAtnyL46QZg" name="context">
          <type xmi:type="uml:Class" href="pathmap://ECORE_METAMODEL_LIBRARY/Ecore.uml#_SeWijsX_EduPJbEsMYXjUQ"/>
        </ownedParameter>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_1L8dVXfIEemZAtnyL46QZg" name="returnValue" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
        </ownedParameter>
        <redefinedOperation xmi:type="uml:Operation" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#__h3MoHV1EemQUasExi-pKA"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_zAX3cHflEemfxLCdKomHJw" name="StereotypePropertyColumn">
      <ownedComment xmi:type="uml:Comment" xmi:id="_cZt-IHiqEemFBs1cFQYujg" annotatedElement="_zAX3cHflEemfxLCdKomHJw">
        <body>This element allows to represent a stereotype's property in a table's column.</body>
      </ownedComment>
      <generalization xmi:type="uml:Generalization" xmi:id="_2r0kUHh7EemgVsD3DibuHQ" general="_kn0wMHh3EemgVsD3DibuHQ"/>
      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_1B2nAHflEemfxLCdKomHJw" client="_zAX3cHflEemfxLCdKomHJw">
        <supplier xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_A326QHHIEempmPy7tz2aIQ"/>
        <contract xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_A326QHHIEempmPy7tz2aIQ"/>
      </interfaceRealization>
      <ownedOperation xmi:type="uml:Operation" xmi:id="_M7oDEHfnEemYtMA-n3zeLQ" name="buildColumnHeaderLabel">
        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_YZV2wHibEem7jeUVQKIHuw" source="http://www.eclipse.org/emf/2002/GenModel">
          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZLDAgHibEem7jeUVQKIHuw"/>
          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZtaGsHibEem7jeUVQKIHuw" key="body" value="return org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.internal.operations.StereotypePropertyColumnOperations.buildColumnHeaderLabel(this);"/>
        </eAnnotations>
        <ownedComment xmi:type="uml:Comment" xmi:id="_M7oDEXfnEemYtMA-n3zeLQ" annotatedElement="_M7oDEHfnEemYtMA-n3zeLQ">
          <body>This method returns the title to use for this column.</body>
        </ownedComment>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_M7oDEnfnEemYtMA-n3zeLQ" name="returnValue" visibility="public" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
        </ownedParameter>
        <redefinedOperation xmi:type="uml:Operation" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_rcVXYHHIEempmPy7tz2aIQ"/>
      </ownedOperation>
      <ownedOperation xmi:type="uml:Operation" xmi:id="_M7tioHfnEemYtMA-n3zeLQ" name="getCellValue">
        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_54vQoHiZEem7jeUVQKIHuw" source="http://www.eclipse.org/emf/2002/GenModel">
          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6csSQHiZEem7jeUVQKIHuw" key="body" value="final org.eclipse.emf.ecore.EObject stereotypeApplication = getFirstMatchingStereotypeApplication(row);&#xA;if (null == stereotypeApplication) {&#xA;&#x9;return &quot;N/A&quot;; //$NON-NLS-1$&#xA;}&#xA;if (this.propertyName == null || this.propertyName.isEmpty()) {&#xA;&#x9;return &quot;N/A&quot;; //$NON-NLS-1$&#xA;}&#xA;final org.eclipse.emf.ecore.EStructuralFeature feature = stereotypeApplication.eClass().getEStructuralFeature(getPropertyName());&#xA;if (null == feature) {&#xA;&#x9;return &quot;N/A&quot;; //$NON-NLS-1$&#xA;}&#xA;final java.util.List&lt;Object> res = getStereotypePropertyValues(row);&#xA;if (feature.isMany()) {&#xA;&#x9;return res;&#xA;}&#xA;if (res.size() == 1) {&#xA;&#x9;return res.get(0);&#xA;}&#xA;return null;"/>
        </eAnnotations>
        <ownedComment xmi:type="uml:Comment" xmi:id="_M7tioXfnEemYtMA-n3zeLQ" annotatedElement="_M7tioHfnEemYtMA-n3zeLQ">
          <body>This method returns the value of the cell. This value is deduced from the element represented by the column and from the row element given as parameter).&#xD;
If the stereotype is not applied, the propertyName is not defined or or if the EStructuralFeature representing this property can't be found, we return the &quot;N/A&quot; string.</body>
        </ownedComment>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_M7tionfnEemYtMA-n3zeLQ" name="row">
          <type xmi:type="uml:Class" href="pathmap://ECORE_METAMODEL_LIBRARY/Ecore.uml#_SeWijsX_EduPJbEsMYXjUQ"/>
        </ownedParameter>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_M7tio3fnEemYtMA-n3zeLQ" name="returnValue" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://ECORE_METAMODEL_LIBRARY/Ecore.uml#_SeWkccX_EduPJbEsMYXjUQ"/>
        </ownedParameter>
        <redefinedOperation xmi:type="uml:Operation" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_5KJyQHHIEempmPy7tz2aIQ"/>
      </ownedOperation>
      <ownedOperation xmi:type="uml:Operation" xmi:id="_M7xNAHfnEemYtMA-n3zeLQ" name="buildCellLabel">
        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hUkFUHibEem7jeUVQKIHuw" source="http://www.eclipse.org/emf/2002/GenModel">
          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iaBRgHibEem7jeUVQKIHuw" key="body" value="return org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.internal.operations.StereotypePropertyColumnOperations.buildCellLabel(this, cellElement);"/>
        </eAnnotations>
        <ownedComment xmi:type="uml:Comment" xmi:id="_M7xNAXfnEemYtMA-n3zeLQ" annotatedElement="_M7xNAHfnEemYtMA-n3zeLQ">
          <body>This method creates the label from the cell value given as parameter.</body>
        </ownedComment>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_M7xNAnfnEemYtMA-n3zeLQ" name="cellElement">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EJavaObject"/>
        </ownedParameter>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_M7xNA3fnEemYtMA-n3zeLQ" name="returnedValue" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
        </ownedParameter>
        <redefinedOperation xmi:type="uml:Operation" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_l9aoQHIjEempmPy7tz2aIQ"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_QAxYMHhtEem9G7r-_dimjw" name="MandatoryStereotypeTemplate" isAbstract="true">
      <ownedComment xmi:type="uml:Comment" xmi:id="_VLYfEHhxEemgVsD3DibuHQ" annotatedElement="_QAxYMHhtEem9G7r-_dimjw">
        <body>Abstract element used to represent a mandatory stereotype.</body>
      </ownedComment>
      <generalization xmi:type="uml:Generalization" xmi:id="_2EaR8HhuEem9G7r-_dimjw" general="_eTn9UHhuEem9G7r-_dimjw"/>
      <ownedAttribute xmi:type="uml:Property" xmi:id="_cEr2AHhtEem9G7r-_dimjw" name="stereotypeQualifiedName" redefinedProperty="_iVkIwHhuEem9G7r-_dimjw">
        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cEr2AXhtEem9G7r-_dimjw" source="http://www.eclipse.org/emf/2002/GenModel">
          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_waMG0Hh-EemgVsD3DibuHQ" key="suppressedGetVisibility" value="true"/>
          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_15ircHh-EemgVsD3DibuHQ" key="suppressedSetVisibility" value="true"/>
        </eAnnotations>
        <ownedComment xmi:type="uml:Comment" xmi:id="_cEr2A3htEem9G7r-_dimjw" annotatedElement="_cEr2AHhtEem9G7r-_dimjw">
          <body>The qualifiedName of the stereotype to find. Here this property redefines the parent's property, to change the lower value.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_eTn9UHhuEem9G7r-_dimjw" name="StereotypeTemplate" isAbstract="true">
      <ownedComment xmi:type="uml:Comment" xmi:id="_SQgpYHhxEemgVsD3DibuHQ" annotatedElement="_eTn9UHhuEem9G7r-_dimjw">
        <body>Abstract element used to represent an Optional Stereotype.</body>
      </ownedComment>
      <ownedAttribute xmi:type="uml:Property" xmi:id="_iVeCIHhuEem9G7r-_dimjw" name="stereotypeFilterRule" visibility="public" type="_31YoQFasEemQ15mMY1nXxQ">
        <ownedComment xmi:type="uml:Comment" xmi:id="_iVeCIXhuEem9G7r-_dimjw" annotatedElement="_iVeCIHhuEem9G7r-_dimjw">
          <body>Description of the way to use to filter the applied stereotype. This field is used only when the parent of the element is an EClassPartTemplate, and not a StereotypePartTemplate.</body>
        </ownedComment>
        <defaultValue xmi:type="uml:LiteralString" xmi:id="_H4EO4HhxEemgVsD3DibuHQ" name="DEFAULT_VALUE" value="STEREOTYPE_KIND_OF"/>
      </ownedAttribute>
      <ownedAttribute xmi:type="uml:Property" xmi:id="_iVkIwHhuEem9G7r-_dimjw" name="stereotypeQualifiedName" visibility="public">
        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iVkIwXhuEem9G7r-_dimjw" source="http://www.eclipse.org/emf/2002/GenModel">
          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iVkIwnhuEem9G7r-_dimjw" key="propertyEditorFactory" value="editor://umldocumentstructuretemplate/AbstractStereotypePart/stereotypeQualifiedName/"/>
        </eAnnotations>
        <ownedComment xmi:type="uml:Comment" xmi:id="_iVkIw3huEem9G7r-_dimjw" annotatedElement="_iVkIwHhuEem9G7r-_dimjw">
          <body>The qualified name of the stereotype. This field is used, only when the parent of the object is an EClassPartTemplate and not a StereotypePartTemplate.&#xD;
In other case, this field is ignored.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iVkIxHhuEem9G7r-_dimjw"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iVkIxXhuEem9G7r-_dimjw" value="1"/>
      </ownedAttribute>
      <ownedOperation xmi:type="uml:Operation" xmi:id="_lHPmMHhuEem9G7r-_dimjw" name="getFirstMatchingStereotypeApplication">
        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WMEyIHiUEemgVsD3DibuHQ" source="http://www.eclipse.org/emf/2002/GenModel">
          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wj74gHiUEemgVsD3DibuHQ" key="body" value="return org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.internal.operations.StereotypeTemplateOperations.getFirstMatchingStereotypeApplication(this,element);"/>
        </eAnnotations>
        <ownedComment xmi:type="uml:Comment" xmi:id="_lHPmMXhuEem9G7r-_dimjw" annotatedElement="_lHPmMHhuEem9G7r-_dimjw">
          <body>This method returns the first stereotype application for the element given in parameter. The parameter is EObject to avoid to have to check type before calling the method.</body>
        </ownedComment>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_lHPmMnhuEem9G7r-_dimjw" name="element">
          <type xmi:type="uml:Class" href="pathmap://ECORE_METAMODEL_LIBRARY/Ecore.uml#_SeWijsX_EduPJbEsMYXjUQ"/>
        </ownedParameter>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_lHPmM3huEem9G7r-_dimjw" name="return" direction="return">
          <type xmi:type="uml:Class" href="pathmap://ECORE_METAMODEL_LIBRARY/Ecore.uml#_SeWijsX_EduPJbEsMYXjUQ"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_lHPmNHhuEem9G7r-_dimjw"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_awbcAHhxEemgVsD3DibuHQ" name="StereotypePropertyTemplate" isAbstract="true">
      <ownedComment xmi:type="uml:Comment" xmi:id="_ic5_gHhxEemgVsD3DibuHQ" annotatedElement="_awbcAHhxEemgVsD3DibuHQ">
        <body>Abstract element used to represent a stereotype property</body>
      </ownedComment>
      <generalization xmi:type="uml:Generalization" xmi:id="_yLcU8HhxEemgVsD3DibuHQ" general="_eTn9UHhuEem9G7r-_dimjw"/>
      <ownedAttribute xmi:type="uml:Property" xmi:id="_t7lpUHhxEemgVsD3DibuHQ" name="propertyName">
        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t7mQYHhxEemgVsD3DibuHQ" source="http://www.eclipse.org/emf/2002/GenModel">
          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t7mQYXhxEemgVsD3DibuHQ" key="propertyEditorFactory" value="editor://umldocumentstructuretemplate/StereotypePropertyTemplate/propertyName/"/>
        </eAnnotations>
        <ownedComment xmi:type="uml:Comment" xmi:id="_t7mQYnhxEemgVsD3DibuHQ" annotatedElement="_t7lpUHhxEemgVsD3DibuHQ">
          <body>The name of the stereotype's property.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
      </ownedAttribute>
      <ownedOperation xmi:type="uml:Operation" xmi:id="_2_vKYHhxEemgVsD3DibuHQ" name="getStereotypePropertyValues">
        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8FuCYHiVEemgVsD3DibuHQ" source="http://www.eclipse.org/emf/2002/GenModel">
          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8hq-kHiVEemgVsD3DibuHQ" key="body" value="if (null == this.propertyName || this.propertyName.isEmpty()) {&#xA;&#x9;return org.eclipse.emf.common.util.ECollections.emptyEList();&#xA;}&#xA;&#x9;EObject stereotypeApplication = null;&#xA;if (eobject instanceof org.eclipse.uml2.uml.Element) {&#xA;&#x9;stereotypeApplication = getFirstMatchingStereotypeApplication(eobject);&#xA;} else {&#xA;&#x9;stereotypeApplication = eobject;&#xA;}&#xA;if (stereotypeApplication == null) {&#xA;&#x9;return org.eclipse.emf.common.util.ECollections.emptyEList();&#xA;}&#xA;final org.eclipse.emf.ecore.EStructuralFeature feature = stereotypeApplication.eClass().getEStructuralFeature(this.propertyName);&#xA;if (null == feature) {&#xA;&#x9;return org.eclipse.emf.common.util.ECollections.emptyEList();&#xA;}&#xA;&#xA;final Object featureValue = stereotypeApplication.eGet(feature, true);&#xA;if (null == featureValue) {&#xA;&#x9;return org.eclipse.emf.common.util.ECollections.emptyEList();&#xA;}&#xA;if (feature.isMany()) {&#xA;&#x9;return org.eclipse.emf.common.util.ECollections.toEList((java.util.Collection&lt;?>) featureValue);&#xA;}&#xA;return org.eclipse.emf.common.util.ECollections.singletonEList(featureValue);"/>
        </eAnnotations>
        <ownedComment xmi:type="uml:Comment" xmi:id="_2_vKYXhxEemgVsD3DibuHQ" annotatedElement="_2_vKYHhxEemgVsD3DibuHQ">
          <body>This method returns the value of the stereotype property.</body>
        </ownedComment>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_2_vKYnhxEemgVsD3DibuHQ" name="eobject">
          <type xmi:type="uml:Class" href="pathmap://ECORE_METAMODEL_LIBRARY/Ecore.uml#_SeWijsX_EduPJbEsMYXjUQ"/>
        </ownedParameter>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_2_vKY3hxEemgVsD3DibuHQ" name="return" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://ECORE_METAMODEL_LIBRARY/Ecore.uml#_SeWkccX_EduPJbEsMYXjUQ"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2_vKZHhxEemgVsD3DibuHQ"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_2_vKZXhxEemgVsD3DibuHQ" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_kn0wMHh3EemgVsD3DibuHQ" name="MandatoryStereotypePropertyTemplate" isAbstract="true">
      <ownedComment xmi:type="uml:Comment" xmi:id="_kn0wMXh3EemgVsD3DibuHQ" annotatedElement="_kn0wMHh3EemgVsD3DibuHQ">
        <body>Abstract element used to represent a mandatory stereotype's property.</body>
      </ownedComment>
      <generalization xmi:type="uml:Generalization" xmi:id="_qffuMHh3EemgVsD3DibuHQ" general="_awbcAHhxEemgVsD3DibuHQ"/>
      <ownedAttribute xmi:type="uml:Property" xmi:id="_yKxPcHiFEemgVsD3DibuHQ" name="stereotypeQualifiedName" redefinedProperty="_iVkIwHhuEem9G7r-_dimjw">
        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yKxPcXiFEemgVsD3DibuHQ" source="http://www.eclipse.org/emf/2002/GenModel">
          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yKxPcniFEemgVsD3DibuHQ" key="suppressedGetVisibility" value="true"/>
          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yKxPc3iFEemgVsD3DibuHQ" key="suppressedSetVisibility" value="true"/>
        </eAnnotations>
        <ownedComment xmi:type="uml:Comment" xmi:id="_yKxPdHiFEemgVsD3DibuHQ" annotatedElement="_yKxPcHiFEemgVsD3DibuHQ">
          <body>The qualifiedName of the stereotype to find. Here this property redefines the parent's property, to change the lower value.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_K5nx0HrWEem3D-pOKUcUKA" name="StereotypePropertyReferenceTableView">
      <ownedComment xmi:type="uml:Comment" xmi:id="_Sfqj4HrbEemo4rKYxRobdQ" annotatedElement="_K5nx0HrWEem3D-pOKUcUKA">
        <body>This element allows to creae a table from a stereotype value properties types by an EObject. it doesn't work for PrimitivesTypes.</body>
      </ownedComment>
      <generalization xmi:type="uml:Generalization" xmi:id="_7Anm4HrXEem3D-pOKUcUKA" general="_awbcAHhxEemgVsD3DibuHQ"/>
      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_TcOFAHrWEem3D-pOKUcUKA" client="_K5nx0HrWEem3D-pOKUcUKA">
        <supplier xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_hB8RkHHHEempmPy7tz2aIQ"/>
        <contract xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_hB8RkHHHEempmPy7tz2aIQ"/>
      </interfaceRealization>
      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_5MFjoHrWEem3D-pOKUcUKA" client="_K5nx0HrWEem3D-pOKUcUKA" supplier="_u5PwMHfIEemZAtnyL46QZg" contract="_u5PwMHfIEemZAtnyL46QZg"/>
      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_8j2o0IhMEemnhdxpIjxH_A" client="_K5nx0HrWEem3D-pOKUcUKA" supplier="_3_UPAIg-EemnhdxpIjxH_A" contract="_3_UPAIg-EemnhdxpIjxH_A"/>
      <ownedOperation xmi:type="uml:Operation" xmi:id="_zcyegHrWEem3D-pOKUcUKA" name="buildRowHeaderLabel">
        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eweyEHrXEem3D-pOKUcUKA" source="http://www.eclipse.org/emf/2002/GenModel">
          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fQlOcHrXEem3D-pOKUcUKA" key="body" value="return org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.internal.operations.StereotypePropertyReferenceTableViewOperations.buildRowHeaderLabel(this, rowElement);&#xA;"/>
        </eAnnotations>
        <ownedComment xmi:type="uml:Comment" xmi:id="_zcyegXrWEem3D-pOKUcUKA" annotatedElement="_zcyegHrWEem3D-pOKUcUKA">
          <body>This method creates the label for the row header, from the rowElement given as parameter.</body>
        </ownedComment>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_zcyegnrWEem3D-pOKUcUKA" name="rowElement">
          <type xmi:type="uml:Class" href="pathmap://ECORE_METAMODEL_LIBRARY/Ecore.uml#_SeWijsX_EduPJbEsMYXjUQ"/>
        </ownedParameter>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_zcyeg3rWEem3D-pOKUcUKA" name="returnValue" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
        </ownedParameter>
        <redefinedOperation xmi:type="uml:Operation" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_ZZa8MHIjEempmPy7tz2aIQ"/>
      </ownedOperation>
      <ownedOperation xmi:type="uml:Operation" xmi:id="_zc9doHrWEem3D-pOKUcUKA" name="getRows">
        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CL1a8HrZEemYwcoYiknfQA" source="http://www.eclipse.org/emf/2002/GenModel">
          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CL1a8XrZEemYwcoYiknfQA" key="body" value="final java.util.List&lt;Object> values = getStereotypePropertyValues(context);&#xA;final java.util.List&lt;org.eclipse.emf.ecore.EObject> eobjects = values.stream()&#xA;&#x9;&#x9;.filter(org.eclipse.emf.ecore.EObject.class::isInstance)&#xA;&#x9;&#x9;.map(org.eclipse.emf.ecore.EObject.class::cast)&#xA;&#x9;&#x9;.collect(java.util.stream.Collectors.toList());&#xA;return org.eclipse.emf.common.util.ECollections.toEList(eobjects);"/>
        </eAnnotations>
        <ownedComment xmi:type="uml:Comment" xmi:id="_zc9doXrWEem3D-pOKUcUKA" annotatedElement="_zc9doHrWEem3D-pOKUcUKA">
          <body>This method returns the elements to use as row from the context element given in parameter.</body>
        </ownedComment>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_zc9donrWEem3D-pOKUcUKA" name="context">
          <type xmi:type="uml:Class" href="pathmap://ECORE_METAMODEL_LIBRARY/Ecore.uml#_SeWijsX_EduPJbEsMYXjUQ"/>
        </ownedParameter>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_zc9do3rWEem3D-pOKUcUKA" name="return" visibility="public" direction="return">
          <type xmi:type="uml:Class" href="pathmap://ECORE_METAMODEL_LIBRARY/Ecore.uml#_SeWijsX_EduPJbEsMYXjUQ"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_zc9dpHrWEem3D-pOKUcUKA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_zc9dpXrWEem3D-pOKUcUKA" value="*"/>
        </ownedParameter>
        <redefinedOperation xmi:type="uml:Operation" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_vq0mgHHHEempmPy7tz2aIQ"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_BUS3EIefEemZ0IApCJqLJw" name="StereotypeListItemTemplate">
      <generalization xmi:type="uml:Generalization" xmi:id="_BFHAwIg9EemnhdxpIjxH_A" general="_35QYoIehEemZ0IApCJqLJw"/>
      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_GiNtcIefEemZ0IApCJqLJw" client="_BUS3EIefEemZ0IApCJqLJw">
        <supplier xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_KilREHxmEem8DZ1bmLpXuQ"/>
        <contract xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_KilREHxmEem8DZ1bmLpXuQ"/>
      </interfaceRealization>
      <ownedOperation xmi:type="uml:Operation" xmi:id="_es_PYIefEemZ0IApCJqLJw" name="getItems">
        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_es_PYYefEemZ0IApCJqLJw" source="http://www.eclipse.org/emf/2002/GenModel">
          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_es_PYoefEemZ0IApCJqLJw" key="body" value="return org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.internal.operations.StereotypeListItemTemplateOperations.getItems(this,context);"/>
        </eAnnotations>
        <ownedComment xmi:type="uml:Comment" xmi:id="_es_PY4efEemZ0IApCJqLJw" annotatedElement="_es_PYIefEemZ0IApCJqLJw">
          <body>This method returns the items for the list, according to the given context.</body>
        </ownedComment>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_es_PZIefEemZ0IApCJqLJw" name="context">
          <type xmi:type="uml:Class" href="pathmap://ECORE_METAMODEL_LIBRARY/Ecore.uml#_SeWijsX_EduPJbEsMYXjUQ"/>
        </ownedParameter>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_es_PZYefEemZ0IApCJqLJw" name="returnValue" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EJavaObject"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_es_PZoefEemZ0IApCJqLJw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_es_PZ4efEemZ0IApCJqLJw" value="*"/>
        </ownedParameter>
        <redefinedOperation xmi:type="uml:Operation" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_jwuUgHxmEem8DZ1bmLpXuQ"/>
      </ownedOperation>
      <ownedOperation xmi:type="uml:Operation" xmi:id="_etHyQIefEemZ0IApCJqLJw" name="buildItemLabel">
        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_etHyQYefEemZ0IApCJqLJw" source="http://www.eclipse.org/emf/2002/GenModel">
          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_etHyQoefEemZ0IApCJqLJw" key="body" value="return org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.internal.operations.StereotypeListItemTemplateOperations.buildItemLabel(this,item);"/>
        </eAnnotations>
        <ownedComment xmi:type="uml:Comment" xmi:id="_etHyQ4efEemZ0IApCJqLJw" annotatedElement="_etHyQIefEemZ0IApCJqLJw">
          <body>This method returns a label for the item.</body>
        </ownedComment>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_etHyRIefEemZ0IApCJqLJw" name="item">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EJavaObject"/>
        </ownedParameter>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_etHyRYefEemZ0IApCJqLJw" name="label" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
        </ownedParameter>
        <redefinedOperation xmi:type="uml:Operation" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_jwo08HxmEem8DZ1bmLpXuQ"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_35QYoIehEemZ0IApCJqLJw" name="MandatoryStereotypeWithEClassTemplate" isAbstract="true">
      <ownedComment xmi:type="uml:Comment" xmi:id="_5QHsYIg6EemnhdxpIjxH_A" annotatedElement="_35QYoIehEemZ0IApCJqLJw">
        <body>This element allows to merge the behavior of a MandatoryStereotypeTemplate and an EClassTemplate</body>
      </ownedComment>
      <generalization xmi:type="uml:Generalization" xmi:id="_sLMXIIgyEemZ0IApCJqLJw" general="_QAxYMHhtEem9G7r-_dimjw"/>
      <generalization xmi:type="uml:Generalization" xmi:id="_vvJmEIgyEemZ0IApCJqLJw">
        <general xmi:type="uml:Class" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_eEKmEHyBEemXM4G5UevpIQ"/>
      </generalization>
      <ownedOperation xmi:type="uml:Operation" xmi:id="_IZQvYIgzEemZ0IApCJqLJw" name="isMatchingFilterRule">
        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IZQvYYgzEemZ0IApCJqLJw" source="http://www.eclipse.org/emf/2002/GenModel">
          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_IZQvYogzEemZ0IApCJqLJw" key="body" value="return org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.internal.operations.MandatoryStereotypeWithEClassTemplateOperations.isMatchingFilterRule(this, inputEObject);"/>
        </eAnnotations>
        <ownedComment xmi:type="uml:Comment" xmi:id="_IZQvY4gzEemZ0IApCJqLJw" annotatedElement="_IZQvYIgzEemZ0IApCJqLJw">
          <body>This method will return true, when the eClass field is null or if the EObject in argument match the filter behavior and false otherwise.</body>
        </ownedComment>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_IZQvZIgzEemZ0IApCJqLJw" name="inputEObject">
          <type xmi:type="uml:Class" href="pathmap://ECORE_METAMODEL_LIBRARY/Ecore.uml#_SeWijsX_EduPJbEsMYXjUQ"/>
        </ownedParameter>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_IZQvZYgzEemZ0IApCJqLJw" name="return" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
        </ownedParameter>
        <redefinedOperation xmi:type="uml:Operation" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_j4q7UHyBEemXM4G5UevpIQ"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_4btFgIg9EemnhdxpIjxH_A" name="StereotypePropertyReferenceListItemTemplate">
      <generalization xmi:type="uml:Generalization" xmi:id="_Cfq8cIhMEemnhdxpIjxH_A" general="_vuOPoIhLEemnhdxpIjxH_A"/>
      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_FHEk4Ig-EemnhdxpIjxH_A" client="_4btFgIg9EemnhdxpIjxH_A">
        <supplier xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_D4L1oHxmEem8DZ1bmLpXuQ"/>
        <contract xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_D4L1oHxmEem8DZ1bmLpXuQ"/>
      </interfaceRealization>
      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_esXHkIg_EemnhdxpIjxH_A" client="_4btFgIg9EemnhdxpIjxH_A" supplier="_3_UPAIg-EemnhdxpIjxH_A" contract="_3_UPAIg-EemnhdxpIjxH_A"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_7dNusIg9EemnhdxpIjxH_A" name="StereotypePropertyAttributeListItemTemplate">
      <generalization xmi:type="uml:Generalization" xmi:id="_DQbrAIhMEemnhdxpIjxH_A" general="_vuOPoIhLEemnhdxpIjxH_A"/>
      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_FsZfgIg-EemnhdxpIjxH_A" client="_7dNusIg9EemnhdxpIjxH_A">
        <supplier xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_B9IeMHxmEem8DZ1bmLpXuQ"/>
        <contract xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_B9IeMHxmEem8DZ1bmLpXuQ"/>
      </interfaceRealization>
      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_WlIhwIg_EemnhdxpIjxH_A" client="_7dNusIg9EemnhdxpIjxH_A" supplier="_5enekIg-EemnhdxpIjxH_A" contract="_5enekIg-EemnhdxpIjxH_A"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Interface" xmi:id="_3_UPAIg-EemnhdxpIjxH_A" name="StereotypePropertyReference">
      <ownedComment xmi:type="uml:Comment" xmi:id="__Eor4Ig-EemnhdxpIjxH_A" annotatedElement="_3_UPAIg-EemnhdxpIjxH_A">
        <body>This interface is used to indicate that the represented property must be an Reference.</body>
      </ownedComment>
    </packagedElement>
    <packagedElement xmi:type="uml:Interface" xmi:id="_5enekIg-EemnhdxpIjxH_A" name="StereotypePropertyAttribute">
      <ownedComment xmi:type="uml:Comment" xmi:id="_DIyd0Ig_EemnhdxpIjxH_A" annotatedElement="_5enekIg-EemnhdxpIjxH_A">
        <body>This interface is used to indicate that the referenced property must be an attribute (a primitive type)</body>
      </ownedComment>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_vuOPoIhLEemnhdxpIjxH_A" name="StereotypePropertyListItemTemplate" isAbstract="true">
      <ownedComment xmi:type="uml:Comment" xmi:id="_-ZdZYIhpEem3iKDIkTXRuw" annotatedElement="_vuOPoIhLEemnhdxpIjxH_A">
        <body>Common Abstract class to manage the stereotype properties for list.</body>
      </ownedComment>
      <generalization xmi:type="uml:Generalization" xmi:id="_7VggMIhpEem3iKDIkTXRuw" general="_kn0wMHh3EemgVsD3DibuHQ"/>
      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_8TMMEIhLEemnhdxpIjxH_A" client="_vuOPoIhLEemnhdxpIjxH_A">
        <supplier xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_w6AUYHxlEem8DZ1bmLpXuQ"/>
        <contract xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_w6AUYHxlEem8DZ1bmLpXuQ"/>
      </interfaceRealization>
      <ownedOperation xmi:type="uml:Operation" xmi:id="_MT-IEIhMEemnhdxpIjxH_A" name="buildItemLabel" isAbstract="true">
        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bGI74IhMEemnhdxpIjxH_A" source="http://www.eclipse.org/emf/2002/GenModel">
          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bGI74YhMEemnhdxpIjxH_A" key="body" value="return org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.internal.operations.StereotypePropertyListItemTemplateOperations.buildItemLabel(this,item);"/>
        </eAnnotations>
        <ownedComment xmi:type="uml:Comment" xmi:id="_MT-IEYhMEemnhdxpIjxH_A" annotatedElement="_MT-IEIhMEemnhdxpIjxH_A">
          <body>This method returns a label for the item.</body>
        </ownedComment>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_MT-IEohMEemnhdxpIjxH_A" name="item">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EJavaObject"/>
        </ownedParameter>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_MT-IE4hMEemnhdxpIjxH_A" name="label" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
        </ownedParameter>
        <redefinedOperation xmi:type="uml:Operation" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_jwo08HxmEem8DZ1bmLpXuQ"/>
      </ownedOperation>
      <ownedOperation xmi:type="uml:Operation" xmi:id="_MUBycIhMEemnhdxpIjxH_A" name="getItems" isAbstract="true">
        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ePboEIhMEemnhdxpIjxH_A" source="http://www.eclipse.org/emf/2002/GenModel">
          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ePboEYhMEemnhdxpIjxH_A" key="body" value="return org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.internal.operations.StereotypePropertyListItemTemplateOperations.getItems(this,context);"/>
        </eAnnotations>
        <ownedComment xmi:type="uml:Comment" xmi:id="_MUBycYhMEemnhdxpIjxH_A" annotatedElement="_MUBycIhMEemnhdxpIjxH_A">
          <body>This method returns the items for the list, according to the given context.</body>
        </ownedComment>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_MUBycohMEemnhdxpIjxH_A" name="context">
          <type xmi:type="uml:Class" href="pathmap://ECORE_METAMODEL_LIBRARY/Ecore.uml#_SeWijsX_EduPJbEsMYXjUQ"/>
        </ownedParameter>
        <ownedParameter xmi:type="uml:Parameter" xmi:id="_MUByc4hMEemnhdxpIjxH_A" name="returnValue" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EJavaObject"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_MUBydIhMEemnhdxpIjxH_A"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_MUBydYhMEemnhdxpIjxH_A" value="*"/>
        </ownedParameter>
        <redefinedOperation xmi:type="uml:Operation" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_jwuUgHxmEem8DZ1bmLpXuQ"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_UwMVwKZaEeqPB-5uC46uFQ" name="StereotypePropertyAttributeAsParagraph">
      <generalization xmi:type="uml:Generalization" xmi:id="_s4BRYKZaEeqPB-5uC46uFQ" general="_awbcAHhxEemgVsD3DibuHQ"/>
      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_t5LzcKZaEeqPB-5uC46uFQ" client="_UwMVwKZaEeqPB-5uC46uFQ" supplier="_5enekIg-EemnhdxpIjxH_A" contract="_5enekIg-EemnhdxpIjxH_A"/>
      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_uoPR0KZaEeqPB-5uC46uFQ" client="_UwMVwKZaEeqPB-5uC46uFQ">
        <supplier xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_R99HIFX-EemKJasCEBKPhQ"/>
        <contract xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_R99HIFX-EemKJasCEBKPhQ"/>
      </interfaceRealization>
      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_vQe9kKZaEeqPB-5uC46uFQ" client="_UwMVwKZaEeqPB-5uC46uFQ">
        <supplier xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_DwGdIFYFEemKJasCEBKPhQ"/>
        <contract xmi:type="uml:Interface" href="pathmap://DOCUMENT_STRUCTURE_TEMPLATE/documentstructuretemplate.uml#_DwGdIFYFEemKJasCEBKPhQ"/>
      </interfaceRealization>
      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_0URY0KZgEeqrit3XiCSzDw" client="_UwMVwKZaEeqPB-5uC46uFQ" supplier="_u5PwMHfIEemZAtnyL46QZg" contract="_u5PwMHfIEemZAtnyL46QZg"/>
    </packagedElement>
    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_x6veQB8TEemcGrhwCFVIGw">
      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_x6wsYB8TEemcGrhwCFVIGw" source="http://www.eclipse.org/uml2/2.0.0/UML">
        <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
      </eAnnotations>
      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
    </profileApplication>
  </uml:Model>
  <Ecore:EPackage xmi:id="_yd7D0B8TEemcGrhwCFVIGw" base_Package="_sha7EB8REem9r6zmWAQv1w" packageName="documentstructuretemplate" nsPrefix="umldocumentstructuretemplate" basePackage="org.eclipse.papyrus.model2doc.uml" prefix="UMLDocumentStructureTemplate"/>
  <Ecore:EClass xmi:id="_Foe5kGESEemrtYwu2mmoHg" instanceClassName="org.eclipse.uml2.uml.Comment" base_Interface="_EYLIQGESEemrtYwu2mmoHg"/>
</xmi:XMI>
