<?xml version="1.0" encoding="UTF-8"?>
<trace:TraceModel xmi:version="2.0"
    xmlns:xmi="http://www.omg.org/XMI"
    xmlns:trace="http://www.eclipse.org/gmf/2006/Trace">
  <nodeTraces
      visualID="2001"
      queryText="(let _eClass_:ecore::EClass = modelFacet.metaClass.ecoreClass in _eClass_.ePackage.nsURI = 'http:///org/eclipse/example/library.ecore' and _eClass_.name = 'Writer') and (let _containmentMF_:ecore::EStructuralFeature = modelFacet.containmentMetaFeature.ecoreFeature in (let _eClass_:ecore::EClass = _containmentMF_.eContainingClass in _eClass_.ePackage.nsURI = 'http:///org/eclipse/example/library.ecore' and _eClass_.name = 'Library') and _containmentMF_.name = 'writers')">
    <nodeLabelTraces
        visualID="5001"
        queryText="true"/>
    <compartmentTraces
        visualID="7001"
        queryText="true"/>
  </nodeTraces>
  <nodeTraces
      visualID="2002"
      queryText="(let _eClass_:ecore::EClass = modelFacet.metaClass.ecoreClass in _eClass_.ePackage.nsURI = 'http:///org/eclipse/example/library.ecore' and _eClass_.name = 'Book') and (let _containmentMF_:ecore::EStructuralFeature = modelFacet.containmentMetaFeature.ecoreFeature in (let _eClass_:ecore::EClass = _containmentMF_.eContainingClass in _eClass_.ePackage.nsURI = 'http:///org/eclipse/example/library.ecore' and _eClass_.name = 'Library') and _containmentMF_.name = 'books')">
    <nodeLabelTraces
        visualID="5002"
        queryText="true"/>
    <nodeLabelTraces
        visualID="5003"
        queryText="true"/>
    <compartmentTraces
        visualID="7002"
        queryText="true"/>
  </nodeTraces>
  <nodeTraces
      visualID="2003"
      queryText="(let _eClass_:ecore::EClass = modelFacet.metaClass.ecoreClass in _eClass_.ePackage.nsURI = 'http:///org/eclipse/example/library.ecore' and _eClass_.name = 'Book') and (let _containmentMF_:ecore::EStructuralFeature = modelFacet.containmentMetaFeature.ecoreFeature in (let _eClass_:ecore::EClass = _containmentMF_.eContainingClass in _eClass_.ePackage.nsURI = 'http:///org/eclipse/example/library.ecore' and _eClass_.name = 'Library') and _containmentMF_.name = 'books')">
    <nodeLabelTraces
        visualID="5004"
        queryText="true"/>
    <nodeLabelTraces
        visualID="5005"
        queryText="true"/>
    <compartmentTraces
        visualID="7003"
        queryText="true"/>
  </nodeTraces>
  <nodeTraces
      visualID="2004"
      queryText="(let _eClass_:ecore::EClass = modelFacet.metaClass.ecoreClass in _eClass_.ePackage.nsURI = 'http:///org/eclipse/example/library.ecore' and _eClass_.name = 'Community') and (let _containmentMF_:ecore::EStructuralFeature = modelFacet.containmentMetaFeature.ecoreFeature in (let _eClass_:ecore::EClass = _containmentMF_.eContainingClass in _eClass_.ePackage.nsURI = 'http:///org/eclipse/example/library.ecore' and _eClass_.name = 'Library') and _containmentMF_.name = 'communities')">
    <nodeLabelTraces
        visualID="5006"
        queryText="true"/>
  </nodeTraces>
  <childNodeTraces
      visualID="3001"
      queryText="(let _eClass_:ecore::EClass = modelFacet.metaClass.ecoreClass in _eClass_.ePackage.nsURI = 'http:///org/eclipse/example/library.ecore' and _eClass_.name = 'Book') and (let _containmentMF_:ecore::EStructuralFeature = modelFacet.containmentMetaFeature.ecoreFeature in (let _eClass_:ecore::EClass = _containmentMF_.eContainingClass in _eClass_.ePackage.nsURI = 'http:///org/eclipse/example/library.ecore' and _eClass_.name = 'Writer') and _containmentMF_.name = 'brochures')"/>
  <childNodeTraces
      visualID="3002"
      queryText="(let _eClass_:ecore::EClass = modelFacet.metaClass.ecoreClass in _eClass_.ePackage.nsURI = 'http:///org/eclipse/example/library.ecore' and _eClass_.name = 'Review') and (let _containmentMF_:ecore::EStructuralFeature = modelFacet.containmentMetaFeature.ecoreFeature in (let _eClass_:ecore::EClass = _containmentMF_.eContainingClass in _eClass_.ePackage.nsURI = 'http:///org/eclipse/example/library.ecore' and _eClass_.name = 'Book') and _containmentMF_.name = 'reviews')"/>
  <childNodeTraces
      visualID="3003"
      queryText="(let _eClass_:ecore::EClass = modelFacet.metaClass.ecoreClass in _eClass_.ePackage.nsURI = 'http:///org/eclipse/example/library.ecore' and _eClass_.name = 'Chapter') and (let _containmentMF_:ecore::EStructuralFeature = modelFacet.containmentMetaFeature.ecoreFeature in (let _eClass_:ecore::EClass = _containmentMF_.eContainingClass in _eClass_.ePackage.nsURI = 'http:///org/eclipse/example/library.ecore' and _eClass_.name = 'Book') and _containmentMF_.name = 'chapters')"/>
  <childNodeTraces
      visualID="3004"
      queryText="(let _eClass_:ecore::EClass = modelFacet.metaClass.ecoreClass in _eClass_.ePackage.nsURI = 'http:///org/eclipse/example/library.ecore' and _eClass_.name = 'Review') and (let _containmentMF_:ecore::EStructuralFeature = modelFacet.containmentMetaFeature.ecoreFeature in (let _eClass_:ecore::EClass = _containmentMF_.eContainingClass in _eClass_.ePackage.nsURI = 'http:///org/eclipse/example/library.ecore' and _eClass_.name = 'Book') and _containmentMF_.name = 'reviews')"/>
  <childNodeTraces
      visualID="3005"
      queryText="(let _eClass_:ecore::EClass = modelFacet.metaClass.ecoreClass in _eClass_.ePackage.nsURI = 'http:///org/eclipse/example/library.ecore' and _eClass_.name = 'Chapter') and (let _containmentMF_:ecore::EStructuralFeature = modelFacet.containmentMetaFeature.ecoreFeature in (let _eClass_:ecore::EClass = _containmentMF_.eContainingClass in _eClass_.ePackage.nsURI = 'http:///org/eclipse/example/library.ecore' and _eClass_.name = 'Book') and _containmentMF_.name = 'chapters')"/>
  <childNodeTraces
      visualID="3006"
      queryText="(let _eClass_:ecore::EClass = modelFacet.metaClass.ecoreClass in _eClass_.ePackage.nsURI = 'http:///org/eclipse/example/library.ecore' and _eClass_.name = 'CommunityRole') and (let _containmentMF_:ecore::EStructuralFeature = modelFacet.containmentMetaFeature.ecoreFeature in (let _eClass_:ecore::EClass = _containmentMF_.eContainingClass in _eClass_.ePackage.nsURI = 'http:///org/eclipse/example/library.ecore' and _eClass_.name = 'Community') and _containmentMF_.name = 'roles')"/>
  <linkTraces
      visualID="4001"
      queryText="modelFacet.oclIsKindOf(gmfgen::TypeLinkModelFacet) and (let _eClass_:ecore::EClass = modelFacet.oclAsType(gmfgen::TypeLinkModelFacet).metaClass.ecoreClass in _eClass_.ePackage.nsURI = 'http:///org/eclipse/example/library.ecore' and _eClass_.name = 'Opinion')">
    <linkLabelTraces
        visualID="6001"
        queryText="true"/>
  </linkTraces>
  <linkTraces
      visualID="4002"
      queryText="modelFacet.oclIsKindOf(gmfgen::FeatureLinkModelFacet) and (let _feature_:ecore::EStructuralFeature = modelFacet.oclAsType(gmfgen::FeatureLinkModelFacet).metaFeature.ecoreFeature in (let _eClass_:ecore::EClass = _feature_.eContainingClass in _eClass_.ePackage.nsURI = 'http:///org/eclipse/example/library.ecore' and _eClass_.name = 'Book') and _feature_.name = 'author')"/>
  <linkTraces
      visualID="4003"
      queryText="modelFacet.oclIsKindOf(gmfgen::TypeLinkModelFacet) and (let _eClass_:ecore::EClass = modelFacet.oclAsType(gmfgen::TypeLinkModelFacet).metaClass.ecoreClass in _eClass_.ePackage.nsURI = 'http:///org/eclipse/example/library.ecore' and _eClass_.name = 'Opinion')">
    <linkLabelTraces
        visualID="6002"
        queryText="true"/>
  </linkTraces>
  <linkTraces
      visualID="4004"
      queryText="modelFacet.oclIsKindOf(gmfgen::FeatureLinkModelFacet) and (let _feature_:ecore::EStructuralFeature = modelFacet.oclAsType(gmfgen::FeatureLinkModelFacet).metaFeature.ecoreFeature in (let _eClass_:ecore::EClass = _feature_.eContainingClass in _eClass_.ePackage.nsURI = 'http:///org/eclipse/example/library.ecore' and _eClass_.name = 'Writer') and _feature_.name = 'participates')"/>
</trace:TraceModel>
