<?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:UMLLabProfile="http:///schemas/UMLLabProfile/NS/0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http:///schemas/UMLLabProfile/NS/0 pathmap://UMLLAB_PROFILES/UMLLab.profile.uml#UMLLabProfile-Annotation_2-UMLLabProfile">
  <uml:Model xmi:id="_CmBD4PASEeq7X-Xlofz4yw" name="Zoo_Sol_EXC2_BIG">
    <eAnnotations xmi:id="_CuqpkPASEeq7X-Xlofz4yw" source="http://ns.yatta.de/umllab">
      <contents xmi:type="ecore:EAnnotation" xmi:id="_CuqpkfASEeq7X-Xlofz4yw" source="codegen">
        <details xmi:id="_CuqpkvASEeq7X-Xlofz4yw" key="codegenDirectory" value="/Zoo_Sol_EXC1_BIG/src"/>
        <details xmi:id="_FVBAwPASEeq7X-Xlofz4yw" key="AssociatedSourceCode" value="/Zoo_Sol_EXC1_BIG/src/Exceptions/AnimalsVisitsException.java;425565400/1;/Zoo_Sol_EXC1_BIG/src/Exceptions/DiscountCheckException.java;1781845356/1;/Zoo_Sol_EXC1_BIG/src/Exceptions/DuplicatedValues.java;1527190901/1;/Zoo_Sol_EXC1_BIG/src/Exceptions/MaximumCapcityException.java;91651206/1;/Zoo_Sol_EXC1_BIG/src/Exceptions/WrongZooEmployeeTypeException.java;3352990877/1;/Zoo_Sol_EXC1_BIG/src/Main.java;1676461589/1;/Zoo_Sol_EXC1_BIG/src/Model/Animal.java;700339938/1;/Zoo_Sol_EXC1_BIG/src/Model/AnimalsVisits.java;2340546213/1;/Zoo_Sol_EXC1_BIG/src/Model/Bird.java;2056110808/1;/Zoo_Sol_EXC1_BIG/src/Model/Drink.java;2972805328/1;/Zoo_Sol_EXC1_BIG/src/Model/Food.java;3957405946/1;/Zoo_Sol_EXC1_BIG/src/Model/Mammal.java;97028527/1;/Zoo_Sol_EXC1_BIG/src/Model/Person.java;3905191032/1;/Zoo_Sol_EXC1_BIG/src/Model/Reptile.java;1595081603/1;/Zoo_Sol_EXC1_BIG/src/autopilot/AutoUtils.java;2925399659/1;/Zoo_Sol_EXC1_BIG/src/Model/Snack.java;2444964369/1;/Zoo_Sol_EXC1_BIG/src/Model/SnackBar.java;2764212678/1;/Zoo_Sol_EXC1_BIG/src/Model/Visitor.java;2630998837/1;/Zoo_Sol_EXC1_BIG/src/Utils/TicketType.java;2455005609/1;/Zoo_Sol_EXC1_BIG/src/Model/ZooEmployee.java;876811972/1;/Zoo_Sol_EXC1_BIG/src/Utils/AnimalFood.java;3182651543/1;/Zoo_Sol_EXC1_BIG/src/Utils/CSVExportRequest.java;3567786446/1;/Zoo_Sol_EXC1_BIG/src/Utils/CSVExporter.java;3997981402/1;/Zoo_Sol_EXC1_BIG/src/Utils/Discount.java;1860211371/1;/Zoo_Sol_EXC1_BIG/src/Utils/Gender.java;4261127746/1;/Zoo_Sol_EXC1_BIG/src/Utils/Job.java;142911362/1;/Zoo_Sol_EXC1_BIG/src/Utils/MyFileLogWriter.java;4184035807/1;/Zoo_Sol_EXC1_BIG/src/Utils/SnackType.java;865382686/1;/Zoo_Sol_EXC1_BIG/src/Model/Zoo.java;608082854/1;/Zoo_Sol_EXC1_BIG/src/Model/Section.java;3584123858/1;/Zoo_Sol_EXC1_BIG/src/autopilot/OutputDocument.java;2128849239/1;/Zoo_Sol_EXC1_BIG/src/autopilot/Section.java;4074393758/1;"/>
      </contents>
    </eAnnotations>
    <elementImport xmi:id="_DN9NoPASEeq7X-Xlofz4yw">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
    </elementImport>
    <elementImport xmi:id="_DN90sPASEeq7X-Xlofz4yw">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#byte"/>
    </elementImport>
    <elementImport xmi:id="_DN90sfASEeq7X-Xlofz4yw">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#char"/>
    </elementImport>
    <elementImport xmi:id="_DN90svASEeq7X-Xlofz4yw">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
    </elementImport>
    <elementImport xmi:id="_DN90s_ASEeq7X-Xlofz4yw">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#float"/>
    </elementImport>
    <elementImport xmi:id="_DN90tPASEeq7X-Xlofz4yw">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
    </elementImport>
    <elementImport xmi:id="_DN90tfASEeq7X-Xlofz4yw">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
    </elementImport>
    <elementImport xmi:id="_DN90tvASEeq7X-Xlofz4yw">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#short"/>
    </elementImport>
    <elementImport xmi:id="_DN-bwPASEeq7X-Xlofz4yw">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
    </elementImport>
    <packagedElement xmi:type="uml:Package" xmi:id="_DOD7UPASEeq7X-Xlofz4yw" name="Exceptions">
      <packagedElement xmi:type="uml:Class" xmi:id="_DQZdoPASEeq7X-Xlofz4yw" name="AnimalsVisitsException">
        <generalization xmi:id="_DZNbYfASEeq7X-Xlofz4yw" general="_DZM0UPASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaDI4PASEeq7X-Xlofz4yw" name="serialVersionUID" visibility="private" isLeaf="true" isStatic="true" isReadOnly="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DaDv8PASEeq7X-Xlofz4yw" value="1L"/>
        </ownedAttribute>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_Da5dcPASEeq7X-Xlofz4yw" name="AnimalsVisitsException" specification="_DQcg8PASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_Da6EgPASEeq7X-Xlofz4yw" type="_DQZdoPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>super(&quot;this Animal need to get her treatment,and need to rest&quot;);&#xD;
&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_DQcg8PASEeq7X-Xlofz4yw" name="AnimalsVisitsException" method="_Da5dcPASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DQdvEPASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DQdvEfASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DQdvEvASEeq7X-Xlofz4yw" type="_DQZdoPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_DQe9MPASEeq7X-Xlofz4yw" name="DiscountCheckException">
        <generalization xmi:id="_DZOCcPASEeq7X-Xlofz4yw" general="_DZM0UPASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaDv8fASEeq7X-Xlofz4yw" name="serialVersionUID" visibility="private" isLeaf="true" isStatic="true" isReadOnly="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DaDv8vASEeq7X-Xlofz4yw" value="1L"/>
        </ownedAttribute>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_Da8gwPASEeq7X-Xlofz4yw" name="DiscountCheckException" specification="_DQfkQPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_Da8gwfASEeq7X-Xlofz4yw" type="_DQe9MPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>super(&quot;cant be more then 25% discount your reach the max amount&quot;);&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_DQfkQPASEeq7X-Xlofz4yw" name="DiscountCheckException" method="_Da8gwPASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DQgLUPASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DQgLUfASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DQgLUvASEeq7X-Xlofz4yw" type="_DQe9MPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_DQgyYPASEeq7X-Xlofz4yw" name="DuplicatedValues">
        <generalization xmi:id="_DZOCcfASEeq7X-Xlofz4yw" general="_DZM0UPASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaDv8_ASEeq7X-Xlofz4yw" name="serialVersionUID" visibility="private" isLeaf="true" isStatic="true" isReadOnly="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DaDv9PASEeq7X-Xlofz4yw" value="1L"/>
        </ownedAttribute>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_Da9H0PASEeq7X-Xlofz4yw" name="DuplicatedValues" specification="_DQhZcPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_Da9H0fASEeq7X-Xlofz4yw" type="_DQgyYPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>super(&quot;cannot be an dupliacted velaue canot be employye and visitor the same person&quot;);&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_DQhZcPASEeq7X-Xlofz4yw" name="DuplicatedValues" method="_Da9H0PASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DQhZcfASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DQhZcvASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DQhZc_ASEeq7X-Xlofz4yw" type="_DQgyYPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_DQinkPASEeq7X-Xlofz4yw" name="MaximumCapcityException">
        <generalization xmi:id="_DZOpgPASEeq7X-Xlofz4yw" general="_DZM0UPASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaEXAPASEeq7X-Xlofz4yw" name="serialVersionUID" visibility="private" isLeaf="true" isStatic="true" isReadOnly="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DaEXAfASEeq7X-Xlofz4yw" value="1L"/>
        </ownedAttribute>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_Da9H0vASEeq7X-Xlofz4yw" name="MaximumCapcityException" specification="_DQinkfASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_Da9H0_ASEeq7X-Xlofz4yw" type="_DQinkPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>super(&quot;you reach to less then 50% of capacty canot move to other section&quot;);&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_DQinkfASEeq7X-Xlofz4yw" name="MaximumCapcityException" method="_Da9H0vASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DQjOoPASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DQjOofASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DQjOovASEeq7X-Xlofz4yw" type="_DQinkPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_DQj1sPASEeq7X-Xlofz4yw" name="WrongZooEmployeeTypeException">
        <generalization xmi:id="_DZOpgfASEeq7X-Xlofz4yw" general="_DZM0UPASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaEXAvASEeq7X-Xlofz4yw" name="serialVersionUID" visibility="private" isLeaf="true" isStatic="true" isReadOnly="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DaEXA_ASEeq7X-Xlofz4yw" value="1L"/>
        </ownedAttribute>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_Da9H1PASEeq7X-Xlofz4yw" name="WrongZooEmployeeTypeException" specification="_DQkcwPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_Da9H1fASEeq7X-Xlofz4yw" type="_DQj1sPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>super(&quot;only Vet can treat Animal&quot;);&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_DQkcwPASEeq7X-Xlofz4yw" name="WrongZooEmployeeTypeException" method="_Da9H1PASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DQkcwfASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DQkcwvASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DQkcw_ASEeq7X-Xlofz4yw" type="_DQj1sPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="_DOLQEPASEeq7X-Xlofz4yw" name="autopilot">
      <packagedElement xmi:type="uml:Class" xmi:id="_DRaKQPASEeq7X-Xlofz4yw" name="AutoUtils" isLeaf="true">
        <ownedComment xmi:id="_DbeFMPASEeq7X-Xlofz4yw">
          <body>Created By Tony on 09/07/2018</body>
        </ownedComment>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbEckvASEeq7X-Xlofz4yw" name="makeFile" specification="_DRaKQfASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbEck_ASEeq7X-Xlofz4yw" name="fileName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbEclPASEeq7X-Xlofz4yw" name="data">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <language>java</language>
          <body>//get data bytes&#xD;
     byte[] bytes = data.getBytes();&#xD;
&#xD;
     //make file output stream&#xD;
     try(FileOutputStream out&#xD;
                 = new FileOutputStream(fileName)){&#xD;
         //write to disk&#xD;
         out.write(bytes);&#xD;
     }catch (IOException e){&#xD;
         e.printStackTrace();&#xD;
     }&#xD;
 </body>
        </ownedBehavior>
        <ownedOperation xmi:id="_DRaKQfASEeq7X-Xlofz4yw" name="makeFile" isStatic="true" method="_DbEckvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DRaxUPASEeq7X-Xlofz4yw" name="fileName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DRaxUfASEeq7X-Xlofz4yw" name="data">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_DSkn4PASEeq7X-Xlofz4yw" name="OutputDocument">
        <ownedComment xmi:id="_Dbky4PASEeq7X-Xlofz4yw">
          <body>Created By Tony on 06/07/2018</body>
        </ownedComment>
        <ownedAttribute xmi:id="_DarbAPASEeq7X-Xlofz4yw" name="parentSection" visibility="private" type="_DSrVkPASEeq7X-Xlofz4yw" association="_Db_ClPASEeq7X-Xlofz4yw">
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DarbAfASEeq7X-Xlofz4yw" value="null"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DasCEfASEeq7X-Xlofz4yw" name="nextName" visibility="private">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#char"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DasCEvASEeq7X-Xlofz4yw" value="'A'"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaspIPASEeq7X-Xlofz4yw" name="sections" visibility="private" type="_DSrVkPASEeq7X-Xlofz4yw" association="_Db_povASEeq7X-Xlofz4yw">
          <qualifier xmi:id="_DaspI_ASEeq7X-Xlofz4yw">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </qualifier>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DaspIfASEeq7X-Xlofz4yw" value="new TreeMap&lt;>()"/>
        </ownedAttribute>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbTtIPASEeq7X-Xlofz4yw" name="nextSection" specification="_DSlO8PASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbTtIfASEeq7X-Xlofz4yw" type="_DSrVkPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>String parentName = parentSection == null ? null : parentSection.getName();&#xD;
     Section section = new Section(String.valueOf(nextName));&#xD;
     section.setParent(parentName);&#xD;
     sections.put(String.valueOf(nextName++),section);&#xD;
     return section;&#xD;
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbTtIvASEeq7X-Xlofz4yw" name="nextSection" specification="_DSl2APASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbTtI_ASEeq7X-Xlofz4yw" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbTtJPASEeq7X-Xlofz4yw" type="_DSrVkPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>String parentName = parentSection == null ? null : parentSection.getName();&#xD;
     Section section = new Section(name);&#xD;
     section.setParent(parentName);&#xD;
     sections.put(name,section);&#xD;
     return section;&#xD;
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbTtJfASEeq7X-Xlofz4yw" name="existingSection" specification="_DSl2AvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbTtJvASEeq7X-Xlofz4yw" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbTtJ_ASEeq7X-Xlofz4yw" type="_DSrVkPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>return sections.get(name);&#xD;
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbTtKPASEeq7X-Xlofz4yw" name="exportSections" specification="_DSmdEPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbTtKfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <language>java</language>
          <body>return exportSections(null,null,true);&#xD;
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbUUMPASEeq7X-Xlofz4yw" name="exportNormal" specification="_DSmdEvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbUUMfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <language>java</language>
          <body>return exportSections(null,null,false);&#xD;
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbUUMvASEeq7X-Xlofz4yw" name="sections" specification="_DSmdFPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbUUM_ASEeq7X-Xlofz4yw" type="_DZ4JwPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>return Collections.unmodifiableMap(sections);&#xD;
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbUUNPASEeq7X-Xlofz4yw" name="exportSections" specification="_DSnrMPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbUUNfASEeq7X-Xlofz4yw" name="documentName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbUUNvASEeq7X-Xlofz4yw" name="parentName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbUUN_ASEeq7X-Xlofz4yw" name="xml">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbUUOPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <language>java</language>
          <body>StringBuilder builder = new StringBuilder();&#xD;
&#xD;
     if (documentName == null)&#xD;
         documentName = getDirName();&#xD;
&#xD;
     //append header&#xD;
     builder&#xD;
             .append(xml ? &quot;&lt;Document name='&quot; : &quot;&quot;)&#xD;
             .append(xml ? documentName: &quot;&quot;)&#xD;
             .append(xml ? &quot;' count='&quot; : &quot;&quot;)&#xD;
             .append(xml ? sections.size() : &quot;&quot;)&#xD;
             .append(xml ? &quot;'>\n&quot; : &quot;&quot;);&#xD;
&#xD;
     //append data&#xD;
     for (Map.Entry&lt;String,Section> entry : sections.entrySet()) {&#xD;
         //add section&#xD;
         builder.append(xml ? &quot;&lt;Section name='&quot; : &quot;&quot;)&#xD;
                 .append(xml ? parentName == null ? &quot;&quot; : parentName + &quot;_&quot; : &quot;&quot;)&#xD;
                 .append(xml ? entry.getKey() : &quot;&quot;)&#xD;
                 .append(xml ? &quot;'>\n&quot; : &quot;&quot;);&#xD;
         //add data to section&#xD;
         builder.append(xml ? &quot;&lt;data>\n&quot; : &quot;&quot;);&#xD;
         builder.append(entry.getValue().result());&#xD;
         builder.append(xml ? &quot;&lt;/data>\n&quot; : &quot;\n&quot;);&#xD;
&#xD;
         //add sub document if exists&#xD;
         builder.append(entry.getValue().documentOutput(xml));&#xD;
&#xD;
         builder.append(xml ? &quot;&lt;/Section>\n&quot; : &quot;&quot;);&#xD;
     }&#xD;
&#xD;
     //close document&#xD;
     builder.append(xml ? &quot;&lt;/Document>\n&quot; : &quot;&quot;);&#xD;
     return builder.toString();&#xD;
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbUUOfASEeq7X-Xlofz4yw" name="getDirName" specification="_DSoSQPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbUUOvASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <language>java</language>
          <body>String[] path = System.getProperty(&quot;user.dir&quot;).split(Pattern.quote(File.separator));&#xD;
     return path.length > 0 ? path[path.length-1] : &quot;unknown_project&quot;;&#xD;
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbUUO_ASEeq7X-Xlofz4yw" name="getScore" specification="_DSoSQvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbUUPPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
          <language>java</language>
          <body>double sum = 0;&#xD;
     for (Section section : sections.values()) {&#xD;
         sum += section.getScore(false);&#xD;
     }&#xD;
     return sum;&#xD;
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbU7QPASEeq7X-Xlofz4yw" name="isEmpty" specification="_DSoSRPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbU7QfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>for (Section section : sections.values()) {&#xD;
         if(!section.isEmpty())&#xD;
             return false;&#xD;
     }&#xD;
     return true;&#xD;
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbU7QvASEeq7X-Xlofz4yw" name="numberOfSections" specification="_DSo5UfASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbU7Q_ASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <language>java</language>
          <body>return sections.size();&#xD;
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbU7RPASEeq7X-Xlofz4yw" name="flatSections" specification="_DSo5U_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbU7RfASEeq7X-Xlofz4yw" type="_DZ4JwPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>List&lt;Section> sections = new ArrayList&lt;>(this.sections.values());&#xD;
&#xD;
     for (Section section : this.sections.values()) {&#xD;
         OutputDocument document = section.getDocument();&#xD;
         if(document != null) {&#xD;
             sections.addAll(document.flatSections().values());&#xD;
         }&#xD;
     }&#xD;
&#xD;
     Map&lt;String,Section> map = new HashMap&lt;>();&#xD;
     for (Section section : sections)&#xD;
         map.put(section.getName(),section);&#xD;
&#xD;
&#xD;
     return map;&#xD;
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbU7RvASEeq7X-Xlofz4yw" name="setParentSection" specification="_DY-K0PASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbU7R_ASEeq7X-Xlofz4yw" name="parentSection" type="_DSrVkPASEeq7X-Xlofz4yw"/>
          <language>java</language>
          <body>this.parentSection = parentSection;&#xD;
     for (Section section : sections.values()) {&#xD;
         section.setParent(parentSection.getName());&#xD;
     }&#xD;
 </body>
        </ownedBehavior>
        <ownedOperation xmi:id="_DSlO8PASEeq7X-Xlofz4yw" name="nextSection" method="_DbTtIPASEeq7X-Xlofz4yw">
          <ownedComment xmi:id="_DblZ8PASEeq7X-Xlofz4yw">
            <body>Create a new section.&#xD;
     * @return The newly created section.</body>
          </ownedComment>
          <ownedParameter xmi:id="_DY9jwPASEeq7X-Xlofz4yw" type="_DSrVkPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DSl2APASEeq7X-Xlofz4yw" name="nextSection" visibility="package" method="_DbTtIvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DSl2AfASEeq7X-Xlofz4yw" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DY9jwfASEeq7X-Xlofz4yw" type="_DSrVkPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DSl2AvASEeq7X-Xlofz4yw" name="existingSection" method="_DbTtJfASEeq7X-Xlofz4yw">
          <ownedComment xmi:id="_DblZ8fASEeq7X-Xlofz4yw">
            <body>Get existing section by letter.&#xD;
     * @param name The nextName of the section (char)&#xD;
     * @return The section if exists else null.</body>
          </ownedComment>
          <ownedParameter xmi:id="_DSl2A_ASEeq7X-Xlofz4yw" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DY9jwvASEeq7X-Xlofz4yw" type="_DSrVkPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DSmdEPASEeq7X-Xlofz4yw" name="exportSections" method="_DbTtKPASEeq7X-Xlofz4yw">
          <ownedComment xmi:id="_DblZ8vASEeq7X-Xlofz4yw">
            <body>Get the result in an XML format. This format should be easily parsed.&#xD;
     * @return The value of all the sections</body>
          </ownedComment>
          <ownedParameter xmi:id="_DSmdEfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DSmdEvASEeq7X-Xlofz4yw" name="exportNormal" method="_DbUUMPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DSmdE_ASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DSmdFPASEeq7X-Xlofz4yw" name="sections" method="_DbUUMvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DZ4JwvASEeq7X-Xlofz4yw" type="_DZ4JwPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DSnrMPASEeq7X-Xlofz4yw" name="exportSections" method="_DbUUNPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DSnrMfASEeq7X-Xlofz4yw" name="documentName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DSnrMvASEeq7X-Xlofz4yw" name="parentName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DSnrM_ASEeq7X-Xlofz4yw" name="xml">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DSnrNPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DSoSQPASEeq7X-Xlofz4yw" name="getDirName" visibility="private" method="_DbUUOfASEeq7X-Xlofz4yw">
          <ownedComment xmi:id="_DblZ8_ASEeq7X-Xlofz4yw">
            <body>Helper method used to get the project's dir nextName.&#xD;
     * @return the project's dir nextName.</body>
          </ownedComment>
          <ownedParameter xmi:id="_DSoSQfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DSoSQvASEeq7X-Xlofz4yw" name="getScore" visibility="package" method="_DbUUO_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DSoSQ_ASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DSoSRPASEeq7X-Xlofz4yw" name="isEmpty" method="_DbU7QPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DSo5UPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DSo5UfASEeq7X-Xlofz4yw" name="numberOfSections" method="_DbU7QvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DSo5UvASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DSo5U_ASEeq7X-Xlofz4yw" name="flatSections" method="_DbU7RPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DZ4w0PASEeq7X-Xlofz4yw" type="_DZ4JwPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DY-K0PASEeq7X-Xlofz4yw" name="setParentSection" method="_DbU7RvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DY-K0fASEeq7X-Xlofz4yw" name="parentSection" type="_DSrVkPASEeq7X-Xlofz4yw"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_DSrVkPASEeq7X-Xlofz4yw" name="Section">
        <ownedComment xmi:id="_DblZ9PASEeq7X-Xlofz4yw">
          <body>Created By Tony on 06/07/2018</body>
        </ownedComment>
        <ownedAttribute xmi:id="_DatQMPASEeq7X-Xlofz4yw" name="parent">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DatQMfASEeq7X-Xlofz4yw" value="null"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_Dat3QPASEeq7X-Xlofz4yw" name="name" isLeaf="true" isReadOnly="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaueUPASEeq7X-Xlofz4yw" name="binary" visibility="package">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DaueUfASEeq7X-Xlofz4yw" value="false"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaueUvASEeq7X-Xlofz4yw" name="score" visibility="private">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DaueU_ASEeq7X-Xlofz4yw" value="0.0"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DavFYfASEeq7X-Xlofz4yw" name="builder" visibility="private" type="_DZ5X4PASEeq7X-Xlofz4yw" association="_DcAQsfASEeq7X-Xlofz4yw">
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DavFYvASEeq7X-Xlofz4yw" value="new StringBuilder()"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DavscPASEeq7X-Xlofz4yw" name="document" visibility="package" type="_DSkn4PASEeq7X-Xlofz4yw" isReadOnly="true" association="_DcAQtPASEeq7X-Xlofz4yw">
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DavscfASEeq7X-Xlofz4yw" value="null"/>
        </ownedAttribute>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbViUvASEeq7X-Xlofz4yw" name="Section" specification="_DSsjsPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbViU_ASEeq7X-Xlofz4yw" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbViVPASEeq7X-Xlofz4yw" type="_DSrVkPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>this.name = name;&#xD;
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbViVfASEeq7X-Xlofz4yw" name="write" specification="_DZ5-8fASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbViVvASEeq7X-Xlofz4yw" name="o" type="_DZS68PASEeq7X-Xlofz4yw"/>
          <language>java</language>
          <body>builder.append(String.valueOf(o)).append(&quot;\n&quot;);&#xD;
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbViV_ASEeq7X-Xlofz4yw" name="result" specification="_DStKwPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbViWPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <language>java</language>
          <body>//CONTENT +&#xD;
     //DOCUMENT OUTPUT&#xD;
     return builder.toString();&#xD;
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbWJYPASEeq7X-Xlofz4yw" name="getScore" specification="_DStKwvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbWJYfASEeq7X-Xlofz4yw" name="flat">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbWJYvASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
          <language>java</language>
          <body>return score + (flat || document == null ? 0 : document.getScore());&#xD;
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbWJY_ASEeq7X-Xlofz4yw" name="setScore" specification="_DStx0PASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbWJZPASEeq7X-Xlofz4yw" name="score">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
          <language>java</language>
          <body>this.score = score;&#xD;
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbWJZfASEeq7X-Xlofz4yw" name="document" specification="_DStx0vASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbWJZvASEeq7X-Xlofz4yw" type="_DSkn4PASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>if (document == null) {&#xD;
         document = new OutputDocument();&#xD;
         document.setParentSection(this);&#xD;
     }&#xD;
     return document;&#xD;
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbWJZ_ASEeq7X-Xlofz4yw" name="documentOutput" specification="_DStx0_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbWJaPASEeq7X-Xlofz4yw" name="xml">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbWJafASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <language>java</language>
          <body>return document == null ? &quot;&quot; : document.exportSections(&quot;sub&quot;,String.valueOf(name),xml);&#xD;
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbWJavASEeq7X-Xlofz4yw" name="getSectionData" specification="_DSuY4fASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbWJa_ASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DbWJbPASEeq7X-Xlofz4yw" value="*"/>
          </ownedParameter>
          <language>java</language>
          <body>return builder.toString().split(Pattern.quote(&quot;\n&quot;)); </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbWJbfASEeq7X-Xlofz4yw" name="isDocumentEmpty" specification="_DSu_8PASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbWJbvASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>return document == null || document.isEmpty();&#xD;
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbWwcPASEeq7X-Xlofz4yw" name="isEmpty" specification="_DSu_8vASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbWwcfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>return builder.length() == 0 &amp;&amp; isDocumentEmpty();&#xD;
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbWwcvASEeq7X-Xlofz4yw" name="documentSize" specification="_DSu_9PASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbWwc_ASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <language>java</language>
          <body>return document == null ? 0 : document.numberOfSections();&#xD;
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbWwdPASEeq7X-Xlofz4yw" name="setDocument" specification="_DZAnEPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbWwdfASEeq7X-Xlofz4yw" name="document" type="_DSkn4PASEeq7X-Xlofz4yw"/>
          <language>java</language>
          <body>this.document = document;&#xD;
     document.setParentSection(this);&#xD;
 </body>
        </ownedBehavior>
        <ownedOperation xmi:id="_DSsjsPASEeq7X-Xlofz4yw" name="Section" visibility="package" method="_DbViUvASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DSsjsvASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DSsjs_ASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DSsjsfASEeq7X-Xlofz4yw" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DSsjtPASEeq7X-Xlofz4yw" type="_DSrVkPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DStKwPASEeq7X-Xlofz4yw" name="result" method="_DbViV_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DStKwfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DStKwvASEeq7X-Xlofz4yw" name="getScore" visibility="package" method="_DbWJYPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DStKw_ASEeq7X-Xlofz4yw" name="flat">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DStKxPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DStx0PASEeq7X-Xlofz4yw" name="setScore" visibility="package" method="_DbWJY_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DStx0fASEeq7X-Xlofz4yw" name="score">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DStx0vASEeq7X-Xlofz4yw" name="document" method="_DbWJZfASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DZAAAPASEeq7X-Xlofz4yw" type="_DSkn4PASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DStx0_ASEeq7X-Xlofz4yw" name="documentOutput" visibility="package" method="_DbWJZ_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DStx1PASEeq7X-Xlofz4yw" name="xml">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DSuY4PASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DSuY4fASEeq7X-Xlofz4yw" name="getSectionData" method="_DbWJavASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DSuY4vASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DSuY4_ASEeq7X-Xlofz4yw" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DSu_8PASEeq7X-Xlofz4yw" name="isDocumentEmpty" method="_DbWJbfASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DSu_8fASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DSu_8vASEeq7X-Xlofz4yw" name="isEmpty" method="_DbWwcPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DSu_8_ASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DSu_9PASEeq7X-Xlofz4yw" name="documentSize" method="_DbWwcvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DSu_9fASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DZAnEPASEeq7X-Xlofz4yw" name="setDocument" visibility="package" method="_DbWwdPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DZAnEfASEeq7X-Xlofz4yw" name="document" type="_DSkn4PASEeq7X-Xlofz4yw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DZ5-8fASEeq7X-Xlofz4yw" name="write" method="_DbViVfASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DZ5-8vASEeq7X-Xlofz4yw" name="o" type="_DZS68PASEeq7X-Xlofz4yw"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Db_ClPASEeq7X-Xlofz4yw" name="" memberEnd="_Db_poPASEeq7X-Xlofz4yw _DarbAPASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Db_poPASEeq7X-Xlofz4yw" name="" type="_DSkn4PASEeq7X-Xlofz4yw" association="_Db_ClPASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Db_povASEeq7X-Xlofz4yw" name="" memberEnd="_Db_po_ASEeq7X-Xlofz4yw _DaspIPASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Db_po_ASEeq7X-Xlofz4yw" name="" type="_DSkn4PASEeq7X-Xlofz4yw" association="_Db_povASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_DcAQsfASEeq7X-Xlofz4yw" name="" memberEnd="_DcAQsvASEeq7X-Xlofz4yw _DavFYfASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_DcAQsvASEeq7X-Xlofz4yw" name="" type="_DSrVkPASEeq7X-Xlofz4yw" association="_DcAQsfASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_DcAQtPASEeq7X-Xlofz4yw" name="" memberEnd="_DcAQtfASEeq7X-Xlofz4yw _DavscPASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_DcAQtfASEeq7X-Xlofz4yw" name="" type="_DSrVkPASEeq7X-Xlofz4yw" association="_DcAQtPASEeq7X-Xlofz4yw"/>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="_DOMeMPASEeq7X-Xlofz4yw" name="Model">
      <packagedElement xmi:type="uml:Class" xmi:id="_DQzGQPASEeq7X-Xlofz4yw" name="Animal" isAbstract="true">
        <ownedAttribute xmi:id="_DaIBYPASEeq7X-Xlofz4yw" name="id">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaIBYfASEeq7X-Xlofz4yw" name="name">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaIBYvASEeq7X-Xlofz4yw" name="birthDay" type="_DXZdgfASEeq7X-Xlofz4yw" association="_Dbbo8PASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaIocPASEeq7X-Xlofz4yw" name="food" type="_DRx9sPASEeq7X-Xlofz4yw" association="_Dbbo8vASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaIocfASEeq7X-Xlofz4yw" name="visitCounter">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaIocvASEeq7X-Xlofz4yw" name="gender" type="_DR_ZEPASEeq7X-Xlofz4yw" association="_DbcQAPASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaIoc_ASEeq7X-Xlofz4yw" name="section" type="_DSd6MPASEeq7X-Xlofz4yw" association="_DbcQAvASEeq7X-Xlofz4yw"/>
        <interfaceRealization xmi:id="_DZRFwfASEeq7X-Xlofz4yw" client="_DQzGQPASEeq7X-Xlofz4yw" supplier="_DZQesPASEeq7X-Xlofz4yw" contract="_DZQesPASEeq7X-Xlofz4yw"/>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_Da-V8PASEeq7X-Xlofz4yw" name="Animal" specification="_DZRs0PASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_Da-V8fASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_Da-V8vASEeq7X-Xlofz4yw" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_Da-V8_ASEeq7X-Xlofz4yw" name="date" type="_DXZdgfASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_Da-V9PASEeq7X-Xlofz4yw" name="food" type="_DRx9sPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_Da-V9fASEeq7X-Xlofz4yw" name="gender" type="_DR_ZEPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_Da-V9vASEeq7X-Xlofz4yw" name="section" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_Da-V9_ASEeq7X-Xlofz4yw" type="_DQzGQPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>super();&#xD;
		this.id = id;&#xD;
		this.name = name;&#xD;
		this.birthDay = date;&#xD;
		this.food = food;&#xD;
		this.visitCounter = 0;&#xD;
		this.gender = gender;&#xD;
		this.section = section;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_Da-9APASEeq7X-Xlofz4yw" name="Animal" specification="_DQ2JkPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_Da-9AfASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_Da-9AvASEeq7X-Xlofz4yw" type="_DQzGQPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>this.id = id;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_Da-9A_ASEeq7X-Xlofz4yw" name="equals" specification="_DZS68vASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_Da-9BPASEeq7X-Xlofz4yw" name="obj" type="_DZS68PASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_Da-9BfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>if (this == obj)&#xD;
			return true;&#xD;
		if (obj == null)&#xD;
			return false;&#xD;
		if (getClass() != obj.getClass())&#xD;
			return false;&#xD;
		Animal other = (Animal) obj;&#xD;
		if (id != other.id)&#xD;
			return false;&#xD;
		return true;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_Da-9BvASEeq7X-Xlofz4yw" name="toString" specification="_DQ3XsPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_Da-9B_ASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <language>java</language>
          <body>return this.getClass().getSimpleName()+ &quot; [id=&quot; + id + &quot;,\n name=&quot; + name + &quot;, birthDay=&quot; + birthDay + &quot;, food=&quot; + food + &quot;, visitCounter=&quot;&#xD;
				+ visitCounter + &quot;, gender=&quot; + gender + &quot;, section=&quot; + section + &quot;]&quot;;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_Da-9CPASEeq7X-Xlofz4yw" name="compareTo" specification="_DXlqwPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_Da-9CfASEeq7X-Xlofz4yw" name="o2" type="_DQzGQPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_Da-9CvASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <language>java</language>
          <body>return this.getBirthDay().compareTo(o2.getBirthDay());&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_DQ2JkPASEeq7X-Xlofz4yw" name="Animal" method="_Da-9APASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DQ2woPASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DQ2wofASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DQ2JkfASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DQ2wovASEeq7X-Xlofz4yw" type="_DQzGQPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DQ3XsPASEeq7X-Xlofz4yw" name="toString" method="_Da-9BvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DQ3-wPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DXlqwPASEeq7X-Xlofz4yw" name="compareTo" method="_Da-9CPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DXlqwfASEeq7X-Xlofz4yw" name="o2" type="_DQzGQPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DXmR0PASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DZRs0PASEeq7X-Xlofz4yw" name="Animal" method="_Da-V8PASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DZST5fASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DZST5vASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DZRs0fASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DZST4PASEeq7X-Xlofz4yw" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DZST4fASEeq7X-Xlofz4yw" name="date" type="_DXZdgfASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZST4vASEeq7X-Xlofz4yw" name="food" type="_DRx9sPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZST4_ASEeq7X-Xlofz4yw" name="gender" type="_DR_ZEPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZST5PASEeq7X-Xlofz4yw" name="section" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZST5_ASEeq7X-Xlofz4yw" type="_DQzGQPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DZS68vASEeq7X-Xlofz4yw" name="equals" method="_Da-9A_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DZTiAPASEeq7X-Xlofz4yw" name="obj" type="_DZS68PASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZTiAfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Interface" xmi:id="_DQ83QPASEeq7X-Xlofz4yw" name="AnimalsVisits">
        <ownedOperation xmi:id="_DXpVIPASEeq7X-Xlofz4yw" name="visitcount" raisedException="_DQZdoPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DXpVIfASEeq7X-Xlofz4yw" name="p" type="_DRQZQPASEeq7X-Xlofz4yw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DXqjQPASEeq7X-Xlofz4yw" name="hasVistedAnimal">
          <ownedParameter xmi:id="_DXqjQfASEeq7X-Xlofz4yw" name="p" type="_DRQZQPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DXqjQvASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_DQ-scPASEeq7X-Xlofz4yw" name="Bird">
        <generalization xmi:id="_DX3XkvASEeq7X-Xlofz4yw" general="_DQzGQPASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaJ2kPASEeq7X-Xlofz4yw" name="idCounter" visibility="private" isStatic="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DaJ2kfASEeq7X-Xlofz4yw" value="1"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaKdofASEeq7X-Xlofz4yw" name="canFly">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaKdovASEeq7X-Xlofz4yw" name="canTakePic">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
        </ownedAttribute>
        <interfaceRealization xmi:id="_DXwp4PASEeq7X-Xlofz4yw" client="_DQ-scPASEeq7X-Xlofz4yw" supplier="_DQ83QPASEeq7X-Xlofz4yw" contract="_DQ83QPASEeq7X-Xlofz4yw"/>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_Da_kEPASEeq7X-Xlofz4yw" name="Bird" specification="_DZVXMPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_Da_kEfASEeq7X-Xlofz4yw" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_Da_kEvASEeq7X-Xlofz4yw" name="date" type="_DXZdgfASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_Da_kE_ASEeq7X-Xlofz4yw" name="food" type="_DRx9sPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_Da_kFPASEeq7X-Xlofz4yw" name="gender" type="_DR_ZEPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_Da_kFfASEeq7X-Xlofz4yw" name="section" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_Da_kFvASEeq7X-Xlofz4yw" name="canFly">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_Da_kF_ASEeq7X-Xlofz4yw" name="canTakePic">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_Da_kGPASEeq7X-Xlofz4yw" type="_DQ-scPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>super(idCounter++, name, date, food, gender, section);&#xD;
		this.canFly = canFly;&#xD;
		this.canTakePic= canTakePic;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbALIPASEeq7X-Xlofz4yw" name="Bird" specification="_DRAhoPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbALIfASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbALIvASEeq7X-Xlofz4yw" type="_DQ-scPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>super(id);&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbALI_ASEeq7X-Xlofz4yw" name="toString" specification="_DRBIsPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbALJPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <language>java</language>
          <body>return super.toString()+ &quot; canFly=&quot; + canFly + &quot;, canTakePic=&quot; + canTakePic + &quot;]&quot;;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbALJfASEeq7X-Xlofz4yw" name="visitcount" specification="_DXztMPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbALJvASEeq7X-Xlofz4yw" name="p" type="_DRQZQPASEeq7X-Xlofz4yw"/>
          <language>java</language>
          <body>if (getVisitCounter()&lt;30) {&#xD;
			setVisitCounter(getVisitCounter()+1);&#xD;
			hasVistedAnimal(p);&#xD;
		}&#xD;
		else {&#xD;
			throw new AnimalsVisitsException();&#xD;
		}&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbALJ_ASEeq7X-Xlofz4yw" name="hasVistedAnimal" specification="_DX1iYPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbALKPASEeq7X-Xlofz4yw" name="p" type="_DRQZQPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbALKfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>if(p instanceof ZooEmployee &amp;&amp; getVisitCounter()>29) {&#xD;
				ZooEmployee e= (ZooEmployee)p;&#xD;
				if(!Zoo.getInstance().getAnimalTreatedByZooEmployee().containsKey(e) ) {&#xD;
					Zoo.getInstance().getAnimalTreatedByZooEmployee().put(e, new HashSet&lt;Animal>());&#xD;
					Zoo.getInstance().getAnimalTreatedByZooEmployee().get(e).add(this);&#xD;
				}&#xD;
			}&#xD;
			else if(p instanceof Visitor &amp;&amp; getVisitCounter()&lt;30) {&#xD;
					Visitor v= (Visitor)p;&#xD;
					if(!Zoo.getInstance().getAnimalVisitsByPeople().containsKey(v)) {&#xD;
						Zoo.getInstance().getAnimalVisitsByPeople().put(v,new HashSet&lt;Animal>());&#xD;
						Zoo.getInstance().getAnimalVisitsByPeople().get(v).add(this);&#xD;
					}&#xD;
					&#xD;
			}&#xD;
				&#xD;
			&#xD;
			&#xD;
		return false;&#xD;
		&#xD;
		&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_DRAhoPASEeq7X-Xlofz4yw" name="Bird" method="_DbALIPASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DRAhovASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DRAho_ASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DRAhofASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DRAhpPASEeq7X-Xlofz4yw" type="_DQ-scPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DRBIsPASEeq7X-Xlofz4yw" name="toString" method="_DbALI_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DRBIsfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DXztMPASEeq7X-Xlofz4yw" name="visitcount" method="_DbALJfASEeq7X-Xlofz4yw" raisedException="_DQZdoPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DXztMfASEeq7X-Xlofz4yw" name="p" type="_DRQZQPASEeq7X-Xlofz4yw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DX1iYPASEeq7X-Xlofz4yw" name="hasVistedAnimal" method="_DbALJ_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DX1iYfASEeq7X-Xlofz4yw" name="p" type="_DRQZQPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DX1iYvASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DZVXMPASEeq7X-Xlofz4yw" name="Bird" method="_Da_kEPASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DZV-RPASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DZV-RfASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DZVXMfASEeq7X-Xlofz4yw" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DZVXMvASEeq7X-Xlofz4yw" name="date" type="_DXZdgfASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZVXM_ASEeq7X-Xlofz4yw" name="food" type="_DRx9sPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZV-QPASEeq7X-Xlofz4yw" name="gender" type="_DR_ZEPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZV-QfASEeq7X-Xlofz4yw" name="section" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZV-QvASEeq7X-Xlofz4yw" name="canFly">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DZV-Q_ASEeq7X-Xlofz4yw" name="canTakePic">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DZV-RvASEeq7X-Xlofz4yw" type="_DQ-scPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_DREMAPASEeq7X-Xlofz4yw" name="Drink">
        <generalization xmi:id="_DX6a4PASEeq7X-Xlofz4yw" general="_DRaxUvASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaLEsPASEeq7X-Xlofz4yw" name="sprinkel">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaLrwPASEeq7X-Xlofz4yw" name="straw">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaLrwfASEeq7X-Xlofz4yw" name="iceCube">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
        </ownedAttribute>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbAyMPASEeq7X-Xlofz4yw" name="Drink" specification="_DX5MwPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbAyMfASEeq7X-Xlofz4yw" name="type" type="_DSDqgPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbAyMvASEeq7X-Xlofz4yw" name="snackName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbAyM_ASEeq7X-Xlofz4yw" name="bar" type="_DRgQ4PASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbAyNPASEeq7X-Xlofz4yw" name="isFattening">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbAyNfASEeq7X-Xlofz4yw" name="price">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbAyNvASEeq7X-Xlofz4yw" name="sprinkel">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbAyN_ASEeq7X-Xlofz4yw" name="straw">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbAyOPASEeq7X-Xlofz4yw" name="iceCube">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbAyOfASEeq7X-Xlofz4yw" type="_DREMAPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>super(type, snackName, bar, isFattening, price);&#xD;
		this.sprinkel = sprinkel;&#xD;
		this.straw = straw;&#xD;
		this.iceCube = iceCube;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbAyOvASEeq7X-Xlofz4yw" name="toString" specification="_DRFaIPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbAyO_ASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <language>java</language>
          <body>return super.toString()+ &quot; [sprinkel=&quot; + sprinkel + &quot;, straw=&quot; + straw + &quot;, iceCube=&quot; + iceCube + &quot;]&quot;;&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_DRFaIPASEeq7X-Xlofz4yw" name="toString" method="_DbAyOvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DRGBMPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DX5MwPASEeq7X-Xlofz4yw" name="Drink" method="_DbAyMPASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DX5z2PASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DX5z2fASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DX5z0PASEeq7X-Xlofz4yw" name="type" type="_DSDqgPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DX5z0fASEeq7X-Xlofz4yw" name="snackName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DX5z0vASEeq7X-Xlofz4yw" name="bar" type="_DRgQ4PASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DX5z0_ASEeq7X-Xlofz4yw" name="isFattening">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DX5z1PASEeq7X-Xlofz4yw" name="price">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DX5z1fASEeq7X-Xlofz4yw" name="sprinkel">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DX5z1vASEeq7X-Xlofz4yw" name="straw">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DX5z1_ASEeq7X-Xlofz4yw" name="iceCube">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DX5z2vASEeq7X-Xlofz4yw" type="_DREMAPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_DRH2YPASEeq7X-Xlofz4yw" name="Food">
        <generalization xmi:id="_DX83IPASEeq7X-Xlofz4yw" general="_DRaxUvASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaMS0PASEeq7X-Xlofz4yw" name="plate">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaMS0fASEeq7X-Xlofz4yw" name="spaciy">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaMS0vASEeq7X-Xlofz4yw" name="glutenFree">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
        </ownedAttribute>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbBZQPASEeq7X-Xlofz4yw" name="Food" specification="_DX7pAPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbBZQfASEeq7X-Xlofz4yw" name="type" type="_DSDqgPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbBZQvASEeq7X-Xlofz4yw" name="snackName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbBZQ_ASEeq7X-Xlofz4yw" name="bar" type="_DRgQ4PASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbBZRPASEeq7X-Xlofz4yw" name="isFattening">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbBZRfASEeq7X-Xlofz4yw" name="price">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbBZRvASEeq7X-Xlofz4yw" name="plate">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbBZR_ASEeq7X-Xlofz4yw" name="spaciy">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbBZSPASEeq7X-Xlofz4yw" name="glutenFree">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbBZSfASEeq7X-Xlofz4yw" type="_DRH2YPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>super(type, snackName, bar, isFattening, price);&#xD;
		this.plate = plate;&#xD;
		this.spaciy = spaciy;&#xD;
		this.glutenFree= glutenFree;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbBZSvASEeq7X-Xlofz4yw" name="toString" specification="_DRJEgPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbBZS_ASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <language>java</language>
          <body>return super.toString()+ &quot; [plate=&quot; + plate + &quot;, spaciy=&quot; + spaciy + &quot;]&quot;;&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_DRJEgPASEeq7X-Xlofz4yw" name="toString" method="_DbBZSvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DRJrkPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DX7pAPASEeq7X-Xlofz4yw" name="Food" method="_DbBZQPASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DX8QFvASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DX8QF_ASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DX7pAfASEeq7X-Xlofz4yw" name="type" type="_DSDqgPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DX7pAvASEeq7X-Xlofz4yw" name="snackName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DX8QEPASEeq7X-Xlofz4yw" name="bar" type="_DRgQ4PASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DX8QEfASEeq7X-Xlofz4yw" name="isFattening">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DX8QEvASEeq7X-Xlofz4yw" name="price">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DX8QE_ASEeq7X-Xlofz4yw" name="plate">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DX8QFPASEeq7X-Xlofz4yw" name="spaciy">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DX8QFfASEeq7X-Xlofz4yw" name="glutenFree">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DX8QGPASEeq7X-Xlofz4yw" type="_DRH2YPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_DRLgwPASEeq7X-Xlofz4yw" name="Mammal">
        <generalization xmi:id="_DYCWs_ASEeq7X-Xlofz4yw" general="_DQzGQPASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaM54PASEeq7X-Xlofz4yw" name="idCounter" visibility="private" isStatic="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DaM54fASEeq7X-Xlofz4yw" value="1"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaNg8PASEeq7X-Xlofz4yw" name="meatEater">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaNg8fASEeq7X-Xlofz4yw" name="canTakePic">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
        </ownedAttribute>
        <interfaceRealization xmi:id="_DX-FQPASEeq7X-Xlofz4yw" client="_DRLgwPASEeq7X-Xlofz4yw" supplier="_DQ83QPASEeq7X-Xlofz4yw" contract="_DQ83QPASEeq7X-Xlofz4yw"/>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbCAUPASEeq7X-Xlofz4yw" name="Mammal" specification="_DZXMYPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbCAUfASEeq7X-Xlofz4yw" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbCAUvASEeq7X-Xlofz4yw" name="date" type="_DXZdgfASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbCAU_ASEeq7X-Xlofz4yw" name="food" type="_DRx9sPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbCAVPASEeq7X-Xlofz4yw" name="gender" type="_DR_ZEPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbCAVfASEeq7X-Xlofz4yw" name="section" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbCAVvASEeq7X-Xlofz4yw" name="meatEater">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbCAV_ASEeq7X-Xlofz4yw" name="canTakePic">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbCAWPASEeq7X-Xlofz4yw" type="_DRLgwPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>super(idCounter++, name, date, food, gender, section);&#xD;
		this.meatEater = meatEater;&#xD;
		this.setCanTakePic(canTakePic);&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbCAWfASEeq7X-Xlofz4yw" name="Mammal" specification="_DRMu4PASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbCAWvASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbCAW_ASEeq7X-Xlofz4yw" type="_DRLgwPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>super(id);&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbCAXPASEeq7X-Xlofz4yw" name="toString" specification="_DRNV8_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbCAXfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <language>java</language>
          <body>return super.toString()+&quot; Name: &quot;+getName()+&quot;, Meat Eater: &quot;+meatEater +&quot;,take a pic&quot; +this.isCanTakePic();&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbCAXvASEeq7X-Xlofz4yw" name="visitcount" specification="_DX-sUPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbCAX_ASEeq7X-Xlofz4yw" name="p" type="_DRQZQPASEeq7X-Xlofz4yw"/>
          <language>java</language>
          <body>if (getVisitCounter()&lt;30) {&#xD;
			setVisitCounter(getVisitCounter()+1);&#xD;
			hasVistedAnimal(p);&#xD;
		}&#xD;
		else {&#xD;
			throw new AnimalsVisitsException();&#xD;
		}&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbCnYPASEeq7X-Xlofz4yw" name="hasVistedAnimal" specification="_DYAhgPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbCnYfASEeq7X-Xlofz4yw" name="p" type="_DRQZQPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbCnYvASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>if(p instanceof ZooEmployee &amp;&amp; getVisitCounter()>29) {&#xD;
				ZooEmployee e= (ZooEmployee)p;&#xD;
				if(!Zoo.getInstance().getAnimalTreatedByZooEmployee().containsKey(e)) {&#xD;
					Zoo.getInstance().getAnimalTreatedByZooEmployee().put(e, new HashSet&lt;Animal>());&#xD;
					Zoo.getInstance().getAnimalTreatedByZooEmployee().get(e).add(this);&#xD;
				}&#xD;
			}&#xD;
			else if(p instanceof Visitor &amp;&amp; getVisitCounter()&lt;30) {&#xD;
				Visitor v= (Visitor)p;&#xD;
				if(!Zoo.getInstance().getAnimalTreatedByZooEmployee().containsKey(v)) {&#xD;
					Zoo.getInstance().getAnimalVisitsByPeople().put(v,new HashSet&lt;Animal>());&#xD;
					Zoo.getInstance().getAnimalVisitsByPeople().get(v).add(this);&#xD;
				}&#xD;
				&#xD;
		}&#xD;
				&#xD;
		return false;&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_DRMu4PASEeq7X-Xlofz4yw" name="Mammal" method="_DbCAWfASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DRNV8PASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DRNV8fASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DRMu4fASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DRNV8vASEeq7X-Xlofz4yw" type="_DRLgwPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DRNV8_ASEeq7X-Xlofz4yw" name="toString" method="_DbCAXPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DRNV9PASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DX-sUPASEeq7X-Xlofz4yw" name="visitcount" method="_DbCAXvASEeq7X-Xlofz4yw" raisedException="_DQZdoPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DX_TYPASEeq7X-Xlofz4yw" name="p" type="_DRQZQPASEeq7X-Xlofz4yw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DYAhgPASEeq7X-Xlofz4yw" name="hasVistedAnimal" method="_DbCnYPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYBIkPASEeq7X-Xlofz4yw" name="p" type="_DRQZQPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYBvoPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DZXMYPASEeq7X-Xlofz4yw" name="Mammal" method="_DbCAUPASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DZXzdPASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DZXzdfASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DZXMYfASEeq7X-Xlofz4yw" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DZXMYvASEeq7X-Xlofz4yw" name="date" type="_DXZdgfASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZXMY_ASEeq7X-Xlofz4yw" name="food" type="_DRx9sPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZXzcPASEeq7X-Xlofz4yw" name="gender" type="_DR_ZEPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZXzcfASEeq7X-Xlofz4yw" name="section" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZXzcvASEeq7X-Xlofz4yw" name="meatEater">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DZXzc_ASEeq7X-Xlofz4yw" name="canTakePic">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DZXzdvASEeq7X-Xlofz4yw" type="_DRLgwPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_DRQZQPASEeq7X-Xlofz4yw" name="Person" isAbstract="true">
        <ownedAttribute xmi:id="_DaOIAPASEeq7X-Xlofz4yw" name="id">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaOIAfASEeq7X-Xlofz4yw" name="firstName">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaOIAvASEeq7X-Xlofz4yw" name="lastName">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaOvEPASEeq7X-Xlofz4yw" name="birthDay" type="_DXZdgfASEeq7X-Xlofz4yw" association="_Dbc3EPASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaOvEfASEeq7X-Xlofz4yw" name="gender" type="_DR_ZEPASEeq7X-Xlofz4yw" association="_DbdeIPASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaOvEvASEeq7X-Xlofz4yw" name="section" type="_DSd6MPASEeq7X-Xlofz4yw" association="_DbdeIvASEeq7X-Xlofz4yw"/>
        <interfaceRealization xmi:id="_DZYagPASEeq7X-Xlofz4yw" client="_DRQZQPASEeq7X-Xlofz4yw" supplier="_DZQesPASEeq7X-Xlofz4yw" contract="_DZQesPASEeq7X-Xlofz4yw"/>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbCnY_ASEeq7X-Xlofz4yw" name="Person" specification="_DZZooPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbCnZPASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbCnZfASEeq7X-Xlofz4yw" name="firstName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbCnZvASEeq7X-Xlofz4yw" name="lastName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbCnZ_ASEeq7X-Xlofz4yw" name="date" type="_DXZdgfASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbCnaPASEeq7X-Xlofz4yw" name="gender" type="_DR_ZEPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbCnafASEeq7X-Xlofz4yw" name="section" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbCnavASEeq7X-Xlofz4yw" type="_DRQZQPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>super();&#xD;
		this.id = id;&#xD;
		this.firstName = firstName;&#xD;
		this.lastName = lastName;&#xD;
		this.birthDay = date;&#xD;
		this.gender = gender;&#xD;
		this.section = section;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbDOcPASEeq7X-Xlofz4yw" name="Person" specification="_DRSOcPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbDOcfASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbDOcvASEeq7X-Xlofz4yw" type="_DRQZQPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>super();&#xD;
		this.id = id;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbDOc_ASEeq7X-Xlofz4yw" name="equals" specification="_DZaPsvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbDOdPASEeq7X-Xlofz4yw" name="obj" type="_DZS68PASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbDOdfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>if (this == obj)&#xD;
			return true;&#xD;
		if (obj == null)&#xD;
			return false;&#xD;
		if (getClass() != obj.getClass())&#xD;
			return false;&#xD;
		Person other = (Person) obj;&#xD;
		if (id != other.id)&#xD;
			return false;&#xD;
		return true;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbDOdvASEeq7X-Xlofz4yw" name="compareTo" specification="_DYGBEPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbDOd_ASEeq7X-Xlofz4yw" name="o" type="_DRQZQPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbDOePASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <language>java</language>
          <body>if(this.getFirstName().equals(o.getFirstName()))&#xD;
			&#xD;
			return this.getLastName().compareTo(o.getLastName()) ; &#xD;
		else&#xD;
			return this.getFirstName().compareTo(o.getFirstName());&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_DRSOcPASEeq7X-Xlofz4yw" name="Person" method="_DbDOcPASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DRSOcvASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DRSOc_ASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DRSOcfASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DRSOdPASEeq7X-Xlofz4yw" type="_DRQZQPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DYGBEPASEeq7X-Xlofz4yw" name="compareTo" method="_DbDOdvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYGoIPASEeq7X-Xlofz4yw" name="o" type="_DRQZQPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYGoIfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DZZooPASEeq7X-Xlofz4yw" name="Person" method="_DbCnY_ASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DZZop_ASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DZaPsPASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DZZoofASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DZZoovASEeq7X-Xlofz4yw" name="firstName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DZZoo_ASEeq7X-Xlofz4yw" name="lastName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DZZopPASEeq7X-Xlofz4yw" name="date" type="_DXZdgfASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZZopfASEeq7X-Xlofz4yw" name="gender" type="_DR_ZEPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZZopvASEeq7X-Xlofz4yw" name="section" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZaPsfASEeq7X-Xlofz4yw" type="_DRQZQPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DZaPsvASEeq7X-Xlofz4yw" name="equals" method="_DbDOc_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DZaPs_ASEeq7X-Xlofz4yw" name="obj" type="_DZS68PASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZa2wPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_DRVRwPASEeq7X-Xlofz4yw" name="Reptile">
        <generalization xmi:id="_DYMHsPASEeq7X-Xlofz4yw" general="_DQzGQPASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaPWIPASEeq7X-Xlofz4yw" name="idCounter" visibility="private" isStatic="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DaPWIfASEeq7X-Xlofz4yw" value="1"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaP9MfASEeq7X-Xlofz4yw" name="isDangerous" visibility="private">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaP9M_ASEeq7X-Xlofz4yw" name="seasonSleep">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
        </ownedAttribute>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbD1gPASEeq7X-Xlofz4yw" name="Reptile" specification="_DZcr8PASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbD1gfASEeq7X-Xlofz4yw" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbD1gvASEeq7X-Xlofz4yw" name="date" type="_DXZdgfASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbD1g_ASEeq7X-Xlofz4yw" name="food" type="_DRx9sPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbD1hPASEeq7X-Xlofz4yw" name="gender" type="_DR_ZEPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbD1hfASEeq7X-Xlofz4yw" name="section" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbD1hvASEeq7X-Xlofz4yw" name="isDangerous">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbD1h_ASEeq7X-Xlofz4yw" name="seasonSleep">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbD1iPASEeq7X-Xlofz4yw" type="_DRVRwPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>super(idCounter++, name, date, food, gender, section);&#xD;
		this.isDangerous = isDangerous;&#xD;
		this.seasonSleep= seasonSleep;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbD1ifASEeq7X-Xlofz4yw" name="Reptile" specification="_DRWf4PASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbD1ivASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbD1i_ASEeq7X-Xlofz4yw" type="_DRVRwPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>super(id);&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbD1jPASEeq7X-Xlofz4yw" name="isDangerous" specification="_DRXG8_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbD1jfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>return isDangerous;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbD1jvASEeq7X-Xlofz4yw" name="setDangerous" specification="_DRXuAPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbD1j_ASEeq7X-Xlofz4yw" name="isDangerous">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>this.isDangerous = isDangerous;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbEckPASEeq7X-Xlofz4yw" name="toString" specification="_DRXuAvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbEckfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <language>java</language>
          <body>return  super.toString()+ &quot; Name: &quot;+getName()+&quot;, Dangerous: &quot;+isDangerous+&quot;, sleep at the sesson: &quot;+this.isSeasonSleep();&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_DRWf4PASEeq7X-Xlofz4yw" name="Reptile" method="_DbD1ifASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DRXG8PASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DRXG8fASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DRWf4fASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DRXG8vASEeq7X-Xlofz4yw" type="_DRVRwPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DRXG8_ASEeq7X-Xlofz4yw" name="isDangerous" method="_DbD1jPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DRXG9PASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DRXuAPASEeq7X-Xlofz4yw" name="setDangerous" method="_DbD1jvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DRXuAfASEeq7X-Xlofz4yw" name="isDangerous">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DRXuAvASEeq7X-Xlofz4yw" name="toString" method="_DbEckPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DRXuA_ASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DZcr8PASEeq7X-Xlofz4yw" name="Reptile" method="_DbD1gPASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DZcr-PASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DZcr-fASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DZcr8fASEeq7X-Xlofz4yw" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DZcr8vASEeq7X-Xlofz4yw" name="date" type="_DXZdgfASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZcr8_ASEeq7X-Xlofz4yw" name="food" type="_DRx9sPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZcr9PASEeq7X-Xlofz4yw" name="gender" type="_DR_ZEPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZcr9fASEeq7X-Xlofz4yw" name="section" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZcr9vASEeq7X-Xlofz4yw" name="isDangerous">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DZcr9_ASEeq7X-Xlofz4yw" name="seasonSleep">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DZdTAPASEeq7X-Xlofz4yw" type="_DRVRwPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_DRaxUvASEeq7X-Xlofz4yw" name="Snack">
        <ownedAttribute xmi:id="_DaQkQPASEeq7X-Xlofz4yw" name="idCounter" visibility="private" isStatic="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DaQkQfASEeq7X-Xlofz4yw" value="1"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaRLUfASEeq7X-Xlofz4yw" name="id">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaRLUvASEeq7X-Xlofz4yw" name="type" type="_DSDqgPASEeq7X-Xlofz4yw" association="_DbeFMfASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaRLU_ASEeq7X-Xlofz4yw" name="bar" type="_DRgQ4PASEeq7X-Xlofz4yw" association="_DbeFM_ASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaRyYPASEeq7X-Xlofz4yw" name="snackName">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaRyYfASEeq7X-Xlofz4yw" name="isFattening" visibility="private">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaRyY_ASEeq7X-Xlofz4yw" name="price">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
        </ownedAttribute>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbEclfASEeq7X-Xlofz4yw" name="Snack" specification="_DYOj8PASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbEclvASEeq7X-Xlofz4yw" name="type" type="_DSDqgPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbEcl_ASEeq7X-Xlofz4yw" name="snackName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbEcmPASEeq7X-Xlofz4yw" name="bar" type="_DRgQ4PASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbEcmfASEeq7X-Xlofz4yw" name="isFattening">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbEcmvASEeq7X-Xlofz4yw" name="price">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbEcm_ASEeq7X-Xlofz4yw" type="_DRaxUvASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>super();&#xD;
		this.id = idCounter++;&#xD;
		this.type = type;&#xD;
		this.bar = bar;&#xD;
		this.snackName = snackName;&#xD;
		this.isFattening = isFattening;&#xD;
		this.price = price;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbFDoPASEeq7X-Xlofz4yw" name="Snack" specification="_DRb_cPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbFDofASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbFDovASEeq7X-Xlofz4yw" type="_DRaxUvASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>this.id = id;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbFDo_ASEeq7X-Xlofz4yw" name="isFattening" specification="_DRcmg_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbFDpPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>return isFattening;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbFDpfASEeq7X-Xlofz4yw" name="setFattening" specification="_DRdNkPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbFDpvASEeq7X-Xlofz4yw" name="isFattening">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>this.isFattening = isFattening;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbFDp_ASEeq7X-Xlofz4yw" name="toString" specification="_DRdNkvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbFDqPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <language>java</language>
          <body>return  this.getClass().getSimpleName()+&quot; [id=&quot; + id + &quot;, type=&quot; + type + &quot;, snackName=&quot; + snackName + &quot;, isFattening=&quot; + isFattening&#xD;
				+ &quot;, price=&quot; + price + &quot;]&quot;;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbFqsPASEeq7X-Xlofz4yw" name="equals" specification="_DZehIPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbFqsfASEeq7X-Xlofz4yw" name="obj" type="_DZS68PASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbFqsvASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>if (this == obj)&#xD;
			return true;&#xD;
		if (obj == null)&#xD;
			return false;&#xD;
		if (getClass() != obj.getClass())&#xD;
			return false;&#xD;
		Snack other = (Snack) obj;&#xD;
		if (id != other.id)&#xD;
			return false;&#xD;
		return true;&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_DRb_cPASEeq7X-Xlofz4yw" name="Snack" method="_DbFDoPASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DRcmgPASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DRcmgfASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DRb_cfASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DRcmgvASEeq7X-Xlofz4yw" type="_DRaxUvASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DRcmg_ASEeq7X-Xlofz4yw" name="isFattening" method="_DbFDo_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DRcmhPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DRdNkPASEeq7X-Xlofz4yw" name="setFattening" method="_DbFDpfASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DRdNkfASEeq7X-Xlofz4yw" name="isFattening">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DRdNkvASEeq7X-Xlofz4yw" name="toString" method="_DbFDp_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DRd0oPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DYOj8PASEeq7X-Xlofz4yw" name="Snack" method="_DbEclfASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DYPLBfASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DYPLBvASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DYPLAPASEeq7X-Xlofz4yw" name="type" type="_DSDqgPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYPLAfASEeq7X-Xlofz4yw" name="snackName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DYPLAvASEeq7X-Xlofz4yw" name="bar" type="_DRgQ4PASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYPLA_ASEeq7X-Xlofz4yw" name="isFattening">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DYPLBPASEeq7X-Xlofz4yw" name="price">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DYPLB_ASEeq7X-Xlofz4yw" type="_DRaxUvASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DZehIPASEeq7X-Xlofz4yw" name="equals" method="_DbFqsPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DZehIfASEeq7X-Xlofz4yw" name="obj" type="_DZS68PASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZehIvASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_DRgQ4PASEeq7X-Xlofz4yw" name="SnackBar">
        <ownedAttribute xmi:id="_DaTAgPASEeq7X-Xlofz4yw" name="idCounter" visibility="private" isStatic="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DaTAgfASEeq7X-Xlofz4yw" value="1"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaTAg_ASEeq7X-Xlofz4yw" name="id">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaTAhPASEeq7X-Xlofz4yw" name="barName">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaTnkPASEeq7X-Xlofz4yw" name="section" type="_DSd6MPASEeq7X-Xlofz4yw" association="_DbesQPASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaTnkfASEeq7X-Xlofz4yw" name="snacks" type="_DYRnQPASEeq7X-Xlofz4yw" association="_Db3t0fASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaUOofASEeq7X-Xlofz4yw" name="profit">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaUOovASEeq7X-Xlofz4yw" name="zooPercentage" isStatic="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
        </ownedAttribute>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbGRxPASEeq7X-Xlofz4yw" name="SnackBar" specification="_DYS1YPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbGRxfASEeq7X-Xlofz4yw" name="barName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbGRxvASEeq7X-Xlofz4yw" name="section" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbGRx_ASEeq7X-Xlofz4yw" type="_DRgQ4PASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>super();&#xD;
		this.id = idCounter++;&#xD;
		this.barName = barName;&#xD;
		this.section = section;&#xD;
		this.snacks = new ArrayList&lt;>();&#xD;
		this.profit = 0.0;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbGRyPASEeq7X-Xlofz4yw" name="SnackBar" specification="_DRhfAPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbGRyfASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbGRyvASEeq7X-Xlofz4yw" type="_DRgQ4PASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>super();&#xD;
		this.id = id;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbG40PASEeq7X-Xlofz4yw" name="toString" specification="_DRiGFPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbG40fASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <language>java</language>
          <body>return  this.getClass().getSimpleName()+&quot; [id=&quot; + id + &quot;, barName=&quot; + barName + &quot;, section=&quot; + section + &quot;, snacks=&quot; + snacks&#xD;
				+ &quot;, profit=&quot; + profit + &quot;]&quot;;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbG40vASEeq7X-Xlofz4yw" name="equals" specification="_DZgWUPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbG40_ASEeq7X-Xlofz4yw" name="obj" type="_DZS68PASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbG41PASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>if (this == obj)&#xD;
			return true;&#xD;
		if (obj == null)&#xD;
			return false;&#xD;
		if (getClass() != obj.getClass())&#xD;
			return false;&#xD;
		SnackBar other = (SnackBar) obj;&#xD;
		if (id != other.id)&#xD;
			return false;&#xD;
		return true;&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_DRhfAPASEeq7X-Xlofz4yw" name="SnackBar" method="_DbGRyPASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DRiGEfASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DRiGEvASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DRiGEPASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DRiGE_ASEeq7X-Xlofz4yw" type="_DRgQ4PASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DRiGFPASEeq7X-Xlofz4yw" name="toString" method="_DbG40PASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DRitIPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DYS1YPASEeq7X-Xlofz4yw" name="SnackBar" method="_DbGRxPASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DYTccfASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DYTccvASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DYS1YfASEeq7X-Xlofz4yw" name="barName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DYTccPASEeq7X-Xlofz4yw" name="section" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYTcc_ASEeq7X-Xlofz4yw" type="_DRgQ4PASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DZgWUPASEeq7X-Xlofz4yw" name="equals" method="_DbG40vASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DZgWUfASEeq7X-Xlofz4yw" name="obj" type="_DZS68PASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZgWUvASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_DRlJYPASEeq7X-Xlofz4yw" name="Visitor">
        <generalization xmi:id="_DYZjEPASEeq7X-Xlofz4yw" general="_DRQZQPASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaWD0PASEeq7X-Xlofz4yw" name="idCounter" visibility="private" isStatic="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DaWD0fASEeq7X-Xlofz4yw" value="1"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaWq4PASEeq7X-Xlofz4yw" name="ticket" type="_DRqB4PASEeq7X-Xlofz4yw" association="_Dbf6YPASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaWq4fASEeq7X-Xlofz4yw" name="discount" type="_DR7usPASEeq7X-Xlofz4yw" association="_Dbf6YvASEeq7X-Xlofz4yw"/>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbHf4PASEeq7X-Xlofz4yw" name="Visitor" specification="_DZiykPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbHf4fASEeq7X-Xlofz4yw" name="firstName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbHf4vASEeq7X-Xlofz4yw" name="lastName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbHf4_ASEeq7X-Xlofz4yw" name="date" type="_DXZdgfASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbHf5PASEeq7X-Xlofz4yw" name="gender" type="_DR_ZEPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbHf5fASEeq7X-Xlofz4yw" name="ticket" type="_DRqB4PASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbHf5vASEeq7X-Xlofz4yw" name="discount" type="_DR7usPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbHf5_ASEeq7X-Xlofz4yw" type="_DRlJYPASEeq7X-Xlofz4yw" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <language>java</language>
          <body>super(idCounter++,firstName, lastName, date, gender, null);&#xD;
		this.ticket = ticket;&#xD;
		this.discount = discount;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbHf6PASEeq7X-Xlofz4yw" name="Visitor" specification="_DRmXgPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbHf6fASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbHf6vASEeq7X-Xlofz4yw" type="_DRlJYPASEeq7X-Xlofz4yw" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <language>java</language>
          <body>super(id);&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbHf6_ASEeq7X-Xlofz4yw" name="toString" specification="_DRm-kfASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbHf7PASEeq7X-Xlofz4yw" direction="return">
            <name xsi:nil="true"/>
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <language>java</language>
          <body>return this.getClass().getSimpleName()+&quot; Name: &quot;+getFirstName()+&quot; &quot;+getLastName()+&quot;, TicketType: &quot;+ticket;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbHf7fASEeq7X-Xlofz4yw" name="moveVisitorToSection" specification="_DYY8APASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbHf7vASEeq7X-Xlofz4yw" name="newSection" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <language>java</language>
          <body>try {&#xD;
			&#xD;
&#xD;
		if(newSection == null || &#xD;
				(this.getSection().getMaxCapacity()/2) >= this.getSection().getVisitors().size()-1) {&#xD;
			System.out.println(this.getSection().getMaxCapacity() +&quot;, &quot; + (this.getSection().getVisitors().size()-1));&#xD;
			throw new MaximumCapcityException();&#xD;
		}&#xD;
		this.getSection().getVisitors().remove(this);&#xD;
		Section s= this.getSection();&#xD;
		this.setSection(newSection);&#xD;
		newSection.getVisitors().add(this);&#xD;
		MyFileLogWriter.println(this+&quot; moved from Section &quot;+s.getSectionName()+&quot; to&quot;&#xD;
				+ &quot;Section &quot;+newSection);&#xD;
		}&#xD;
		catch (MaximumCapcityException e) {&#xD;
			MyFileLogWriter.println( e.getMessage());&#xD;
			&#xD;
		}&#xD;
		&#xD;
		&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbIG8PASEeq7X-Xlofz4yw" name="checkTicketPrice" specification="_DRnlo_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbIG8fASEeq7X-Xlofz4yw" direction="return">
            <name xsi:nil="true"/>
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
          <language>java</language>
          <body>double perc = 100-getDiscount().getPercentage();&#xD;
		double price = perc*ticket.getValue()/100;&#xD;
		return price;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbIG8vASEeq7X-Xlofz4yw" name="purchaseSnack" specification="_DYY8AvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbIG8_ASEeq7X-Xlofz4yw" name="s" type="_DRaxUvASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbIG9PASEeq7X-Xlofz4yw" direction="return">
            <name xsi:nil="true"/>
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>boolean isValid = true;&#xD;
		if(s == null)&#xD;
			isValid = false;&#xD;
		&#xD;
	if( s instanceof Drink) {&#xD;
		&#xD;
		Drink tmp = (Drink)s;&#xD;
		 &#xD;
		if(isValid &amp;&amp; tmp.isSprinkel() &amp;&amp; this.getSection().getBar().getSnacks().contains(tmp)){&#xD;
			this.getSection().getBar().setProfit(this.getSection().getBar().getProfit() &#xD;
					+ s.getPrice()+5);&#xD;
			this.getSection().getBar().getSnacks().remove(tmp);&#xD;
			MyFileLogWriter.println(&quot;Visitor: &quot;+this+&quot; Purchased Drink: &quot;+tmp);&#xD;
			return true;&#xD;
			&#xD;
			&#xD;
		}&#xD;
		&#xD;
		else if(isValid &amp;&amp; !tmp.isSprinkel() &amp;&amp; this.getSection().getBar().getSnacks().contains(tmp)){&#xD;
			this.getSection().getBar().setProfit(this.getSection().getBar().getProfit() &#xD;
					+ s.getPrice());&#xD;
			this.getSection().getBar().getSnacks().remove(tmp);&#xD;
			MyFileLogWriter.println(&quot;Visitor: &quot;+this+&quot; Purchased Drink: &quot;+tmp);&#xD;
			return true;&#xD;
			&#xD;
			&#xD;
		}&#xD;
		else&#xD;
		{	MyFileLogWriter.println(&quot;Visitor: &quot;+this+&quot; Did Not Purchased any DRINK&quot;);&#xD;
		return false;&#xD;
		}&#xD;
	}&#xD;
	&#xD;
	else if( s instanceof Food) {&#xD;
		&#xD;
		Food tmp = (Food)s;&#xD;
		 &#xD;
		if(isValid &amp;&amp; tmp.isPlate() &amp;&amp; this.getSection().getBar().getSnacks().contains(tmp)){&#xD;
			this.getSection().getBar().setProfit(this.getSection().getBar().getProfit() &#xD;
					+ s.getPrice()+20);&#xD;
			this.getSection().getBar().getSnacks().remove(tmp);&#xD;
			MyFileLogWriter.println(&quot;Visitor: &quot;+this+&quot; Purchased Food: &quot;+tmp);&#xD;
			return true;&#xD;
			&#xD;
			&#xD;
		}&#xD;
		&#xD;
		else if(isValid &amp;&amp; !tmp.isPlate() &amp;&amp; this.getSection().getBar().getSnacks().contains(tmp)){&#xD;
			this.getSection().getBar().setProfit(this.getSection().getBar().getProfit() &#xD;
					+ s.getPrice());&#xD;
			this.getSection().getBar().getSnacks().remove(tmp);&#xD;
			MyFileLogWriter.println(&quot;Visitor: &quot;+this+&quot; Purchased Food: &quot;+tmp);&#xD;
			return true;&#xD;
			&#xD;
			&#xD;
		}&#xD;
		else {&#xD;
			MyFileLogWriter.println(&quot;Visitor: &quot;+this+&quot; Did Not Purchased any FOOD&quot;);&#xD;
			return false;&#xD;
		}&#xD;
		&#xD;
	}&#xD;
	&#xD;
		else&#xD;
		{&#xD;
			MyFileLogWriter.println(&quot;Visitor: &quot;+this+&quot; Did Not Purchased Snack&quot;);&#xD;
			return false;&#xD;
		}&#xD;
			&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_DRmXgPASEeq7X-Xlofz4yw" name="Visitor" method="_DbHf6PASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DRmXgvASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DRmXg_ASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DRmXgfASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DRm-kPASEeq7X-Xlofz4yw" type="_DRlJYPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DRm-kfASEeq7X-Xlofz4yw" name="toString" method="_DbHf6_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DRm-kvASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DRnlo_ASEeq7X-Xlofz4yw" name="checkTicketPrice" method="_DbIG8PASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DRnlpPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DYY8APASEeq7X-Xlofz4yw" name="moveVisitorToSection" method="_DbHf7fASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYY8AfASEeq7X-Xlofz4yw" name="newSection" type="_DSd6MPASEeq7X-Xlofz4yw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DYY8AvASEeq7X-Xlofz4yw" name="purchaseSnack" method="_DbIG8vASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYY8A_ASEeq7X-Xlofz4yw" name="s" type="_DRaxUvASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYY8BPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DZiykPASEeq7X-Xlofz4yw" name="Visitor" method="_DbHf4PASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DZiyl_ASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DZiymPASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DZiykfASEeq7X-Xlofz4yw" name="firstName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DZiykvASEeq7X-Xlofz4yw" name="lastName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DZiyk_ASEeq7X-Xlofz4yw" name="date" type="_DXZdgfASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZiylPASEeq7X-Xlofz4yw" name="gender" type="_DR_ZEPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZiylfASEeq7X-Xlofz4yw" name="ticket" type="_DRqB4PASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZiylvASEeq7X-Xlofz4yw" name="discount" type="_DR7usPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZiymfASEeq7X-Xlofz4yw" type="_DRlJYPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_DRuTUPASEeq7X-Xlofz4yw" name="ZooEmployee">
        <generalization xmi:id="_DYb_UPASEeq7X-Xlofz4yw" general="_DRQZQPASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaX5AvASEeq7X-Xlofz4yw" name="idCounter" visibility="private" isStatic="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DaYgEPASEeq7X-Xlofz4yw" value="1"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaYgEvASEeq7X-Xlofz4yw" name="job" type="_DSAAI_ASEeq7X-Xlofz4yw" association="_DbhvkPASEeq7X-Xlofz4yw"/>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbIuAvASEeq7X-Xlofz4yw" name="ZooEmployee" specification="_DZknwPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbIuA_ASEeq7X-Xlofz4yw" name="firstName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbIuBPASEeq7X-Xlofz4yw" name="lastName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbIuBfASEeq7X-Xlofz4yw" name="date" type="_DXZdgfASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbIuBvASEeq7X-Xlofz4yw" name="gender" type="_DR_ZEPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbIuB_ASEeq7X-Xlofz4yw" name="section" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbIuCPASEeq7X-Xlofz4yw" name="job" type="_DSAAI_ASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbIuCfASEeq7X-Xlofz4yw" type="_DRuTUPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>super(idCounter++,firstName, lastName, date, gender, section);&#xD;
		this.job = job;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbIuCvASEeq7X-Xlofz4yw" name="ZooEmployee" specification="_DRvhcPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbIuC_ASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbIuDPASEeq7X-Xlofz4yw" type="_DRuTUPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>super(id);&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbJVEPASEeq7X-Xlofz4yw" name="toString" specification="_DRvhdfASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbJVEfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <language>java</language>
          <body>return this.getClass().getSimpleName()+&quot; Name: &quot;+getFirstName()+&quot; &quot;+getLastName()+&quot;, Job: &quot;+job;&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_DRvhcPASEeq7X-Xlofz4yw" name="ZooEmployee" method="_DbIuCvASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DRvhcvASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DRvhc_ASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DRvhcfASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DRvhdPASEeq7X-Xlofz4yw" type="_DRuTUPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DRvhdfASEeq7X-Xlofz4yw" name="toString" method="_DbJVEPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DRwvkPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DZknwPASEeq7X-Xlofz4yw" name="ZooEmployee" method="_DbIuAvASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DZknx_ASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DZlO0PASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DZknwfASEeq7X-Xlofz4yw" name="firstName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DZknwvASEeq7X-Xlofz4yw" name="lastName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DZknw_ASEeq7X-Xlofz4yw" name="date" type="_DXZdgfASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZknxPASEeq7X-Xlofz4yw" name="gender" type="_DR_ZEPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZknxfASEeq7X-Xlofz4yw" name="section" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZknxvASEeq7X-Xlofz4yw" name="job" type="_DSAAI_ASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZlO0fASEeq7X-Xlofz4yw" type="_DRuTUPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_DSE4o_ASEeq7X-Xlofz4yw" name="Zoo">
        <ownedAttribute xmi:id="_DaemsPASEeq7X-Xlofz4yw" name="zoo" visibility="private" isStatic="true" type="_DSE4o_ASEeq7X-Xlofz4yw" association="_Db5jAfASEeq7X-Xlofz4yw">
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DaemsfASEeq7X-Xlofz4yw" value="null"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DafNwPASEeq7X-Xlofz4yw" name="employees" type="_DYlwUfASEeq7X-Xlofz4yw" association="_Db5jBPASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_Daf00PASEeq7X-Xlofz4yw" name="visitors" type="_DYlwUfASEeq7X-Xlofz4yw" isReadOnly="true" association="_Db6KEfASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_Dagb4PASEeq7X-Xlofz4yw" name="mammals" type="_DYlwUfASEeq7X-Xlofz4yw" isReadOnly="true" association="_Db6xIPASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_Dagb4vASEeq7X-Xlofz4yw" name="reptiles" type="_DYlwUfASEeq7X-Xlofz4yw" isReadOnly="true" association="_Db6xI_ASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DahC8fASEeq7X-Xlofz4yw" name="birds" type="_DYlwUfASEeq7X-Xlofz4yw" isReadOnly="true" association="_Db7YMfASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DahqAfASEeq7X-Xlofz4yw" name="sections" type="_DYlwUfASEeq7X-Xlofz4yw" association="_Db7YNPASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaiREfASEeq7X-Xlofz4yw" name="snacks" type="_DYlwUfASEeq7X-Xlofz4yw" isReadOnly="true" association="_Db7_QfASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DajfMvASEeq7X-Xlofz4yw" name="bars" type="_DYlwUfASEeq7X-Xlofz4yw" association="_Db8mUfASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DakGQfASEeq7X-Xlofz4yw" name="animalTreatedByZooEmployee" type="_DYlwUfASEeq7X-Xlofz4yw" association="_Db8mVPASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaktUfASEeq7X-Xlofz4yw" name="AnimalVisitsByPeople" visibility="private" type="_DYlwUfASEeq7X-Xlofz4yw" association="_Db9NYfASEeq7X-Xlofz4yw"/>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbMYYPASEeq7X-Xlofz4yw" name="getInstance" specification="_DSGt0PASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbMYYfASEeq7X-Xlofz4yw" type="_DSE4o_ASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>if(zoo==null)&#xD;
			zoo = new Zoo();&#xD;
		return zoo;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbMYYvASEeq7X-Xlofz4yw" name="Zoo" specification="_DSGt0fASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbMYY_ASEeq7X-Xlofz4yw" type="_DSE4o_ASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>employees = new HashMap&lt;>();&#xD;
		visitors = new HashMap&lt;>();&#xD;
		mammals =new HashMap&lt;>();&#xD;
		reptiles = new HashMap&lt;>();&#xD;
		birds = new HashMap&lt;>();&#xD;
		sections = new HashMap&lt;>();&#xD;
		snacks = new HashMap&lt;>();&#xD;
		bars = new HashMap&lt;>();&#xD;
		animalTreatedByZooEmployee= new HashMap&lt;>();&#xD;
		AnimalVisitsByPeople = new HashMap&lt;>();&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbMYZPASEeq7X-Xlofz4yw" name="setVisitorsById" specification="_DZsjkPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbMYZfASEeq7X-Xlofz4yw" name="visitors" type="_DYlwUfASEeq7X-Xlofz4yw"/>
          <language>java</language>
          <body>this.visitors = visitors;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbMYZvASEeq7X-Xlofz4yw" name="setMammalsById" specification="_DZtxsPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbMYZ_ASEeq7X-Xlofz4yw" name="mammals" type="_DYlwUfASEeq7X-Xlofz4yw"/>
          <language>java</language>
          <body>this.mammals= mammals;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbMYaPASEeq7X-Xlofz4yw" name="setReptilesById" specification="_DZuYwfASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbMYafASEeq7X-Xlofz4yw" name="reptiles" type="_DYlwUfASEeq7X-Xlofz4yw"/>
          <language>java</language>
          <body>this.reptiles= reptiles;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbMYavASEeq7X-Xlofz4yw" name="setBirdsById" specification="_DZu_0fASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbMYa_ASEeq7X-Xlofz4yw" name="birds" type="_DYlwUfASEeq7X-Xlofz4yw"/>
          <language>java</language>
          <body>this.birds = birds;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbM_cPASEeq7X-Xlofz4yw" name="setSnacksById" specification="_DZvm4fASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbM_cfASEeq7X-Xlofz4yw" name="snacks" type="_DYlwUfASEeq7X-Xlofz4yw"/>
          <language>java</language>
          <body>this.snacks = snacks;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbM_cvASEeq7X-Xlofz4yw" name="getAnimalVisitsByPeople" specification="_DSHU4_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbM_c_ASEeq7X-Xlofz4yw" type="_DYlwUfASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>return AnimalVisitsByPeople;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbM_dPASEeq7X-Xlofz4yw" name="setAnimalVisitsByPeople" specification="_DZw1APASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbM_dfASEeq7X-Xlofz4yw" name="animalVisitsByPeople" type="_DYlwUfASEeq7X-Xlofz4yw"/>
          <language>java</language>
          <body>AnimalVisitsByPeople = animalVisitsByPeople;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbM_dvASEeq7X-Xlofz4yw" name="addEmployee" specification="_DYqBwfASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbM_d_ASEeq7X-Xlofz4yw" name="employee" type="_DRuTUPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbM_ePASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>if(employee == null)&#xD;
			return false;&#xD;
&#xD;
		if(!getEmployees().containsValue(employee)) {&#xD;
			getEmployees().put(employee.getId(),employee)  ; &#xD;
			employee.getSection().getEmployees().add(employee);}&#xD;
		else&#xD;
			return false;&#xD;
&#xD;
		return true;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbM_efASEeq7X-Xlofz4yw" name="addVisitor" specification="_DYqo0vASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbM_evASEeq7X-Xlofz4yw" name="v" type="_DRlJYPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbM_e_ASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>if(v == null )  &#xD;
			return false;&#xD;
&#xD;
		if(!getVisitors().containsValue(v))&#xD;
			getVisitors().put(v.getId(),v);&#xD;
		else&#xD;
			return false;&#xD;
		return true;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbNmgPASEeq7X-Xlofz4yw" name="addMammalById" specification="_DYrP4PASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbNmgfASEeq7X-Xlofz4yw" name="m" type="_DRLgwPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbNmgvASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>if(m == null)&#xD;
			return false;&#xD;
&#xD;
		if(!getMammals().containsValue(m)) {&#xD;
			getMammals().put(m.getId(),m); &#xD;
			m.getSection().getMammals().add(m);}&#xD;
		else&#xD;
			return false;&#xD;
		return true;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbNmg_ASEeq7X-Xlofz4yw" name="addReptileById" specification="_DYrP4_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbNmhPASEeq7X-Xlofz4yw" name="r" type="_DRVRwPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbNmhfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>if(r == null)&#xD;
			return false;&#xD;
&#xD;
		if(!getReptiles().containsValue(r)) {&#xD;
			getReptiles().put(r.getId(),r);&#xD;
			r.getSection().getReptiles().add(r);}&#xD;
		else&#xD;
			return false;&#xD;
		return true;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbNmhvASEeq7X-Xlofz4yw" name="addBirdById" specification="_DYr28PASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbNmh_ASEeq7X-Xlofz4yw" name="b" type="_DQ-scPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbNmiPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>if(b == null)&#xD;
			return false;&#xD;
&#xD;
		if(!getBirds().containsValue(b)) {&#xD;
			getBirds().put(b.getId(),b) ;&#xD;
&#xD;
			b.getSection().getBirds().add(b);}&#xD;
		else&#xD;
			return false;&#xD;
		return true;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbNmifASEeq7X-Xlofz4yw" name="addSection" specification="_DYr28_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbNmivASEeq7X-Xlofz4yw" name="s" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbNmi_ASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>if(s == null)&#xD;
			return false;&#xD;
&#xD;
		if(!getSections().containsValue(s))&#xD;
			getSections().put(s.getId(),s) ;&#xD;
		else&#xD;
			return false;&#xD;
&#xD;
		return true;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbNmjPASEeq7X-Xlofz4yw" name="addSnack" specification="_DYtFEPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbNmjfASEeq7X-Xlofz4yw" name="s" type="_DRaxUvASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbNmjvASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>if(s == null)&#xD;
			return false;&#xD;
&#xD;
		if(!getSnacks().containsValue(s))&#xD;
			getSnacks().put(s.getId(),s);&#xD;
		else&#xD;
			return false;&#xD;
		s.getBar().getSnacks().add(s);&#xD;
		return true;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbONkPASEeq7X-Xlofz4yw" name="addSnackBar" specification="_DYtFE_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbONkfASEeq7X-Xlofz4yw" name="sb" type="_DRgQ4PASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbONkvASEeq7X-Xlofz4yw" name="s" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbONk_ASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>if(sb == null || s == null)&#xD;
			return false;&#xD;
&#xD;
		if(!getBars().containsValue(sb))&#xD;
			getBars().put(sb.getId(),sb);&#xD;
		else&#xD;
			return false;&#xD;
&#xD;
		s.setBar(sb);&#xD;
		return true;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbONlPASEeq7X-Xlofz4yw" name="removeEmployee" specification="_DYtFF_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbONlfASEeq7X-Xlofz4yw" name="employee" type="_DRuTUPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbONlvASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>if(employee == null)&#xD;
			return false;&#xD;
&#xD;
		getEmployees().remove(employee.getId());&#xD;
		employee.getSection().getEmployees().remove(employee);&#xD;
		return true;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbONl_ASEeq7X-Xlofz4yw" name="removeVisitor" specification="_DYtsIvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbONmPASEeq7X-Xlofz4yw" name="v" type="_DRlJYPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbONmfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>if(v == null)&#xD;
			return false;&#xD;
&#xD;
		getVisitors().remove(v.getId());&#xD;
		v.getSection().getVisitors().remove(v);&#xD;
&#xD;
		return true;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbONmvASEeq7X-Xlofz4yw" name="removeMammal" specification="_DYuTMPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbONm_ASEeq7X-Xlofz4yw" name="m" type="_DRLgwPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbONnPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>if(m == null)&#xD;
			return false;&#xD;
&#xD;
		getMammals().remove(m.getId());&#xD;
		m.getSection().getMammals().remove(m);&#xD;
		return true;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbONnfASEeq7X-Xlofz4yw" name="removeReptile" specification="_DYuTM_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbONnvASEeq7X-Xlofz4yw" name="r" type="_DRVRwPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbONn_ASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>if(r == null)&#xD;
			return false;&#xD;
&#xD;
		getReptiles().remove(r.getId());&#xD;
		r.getSection().getReptiles().remove(r);&#xD;
		return true;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbO0oPASEeq7X-Xlofz4yw" name="removeBird" specification="_DYu6QPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbO0ofASEeq7X-Xlofz4yw" name="b" type="_DQ-scPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbO0ovASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>if(b == null)&#xD;
			return false;&#xD;
&#xD;
		getBirds().remove(b.getId());&#xD;
		b.getSection().getBirds().remove(b);&#xD;
		return true;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbO0o_ASEeq7X-Xlofz4yw" name="removeSection" specification="_DYvhUPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbO0pPASEeq7X-Xlofz4yw" name="oldSection" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbO0pfASEeq7X-Xlofz4yw" name="newSection" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbO0pvASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>if(oldSection == null || newSection == null)&#xD;
			return false;&#xD;
&#xD;
		newSection.getEmployees().addAll(oldSection.getEmployees());&#xD;
		newSection.getVisitors().addAll(oldSection.getVisitors());&#xD;
		newSection.getMammals().addAll(oldSection.getMammals());&#xD;
		newSection.getReptiles().addAll(oldSection.getReptiles());&#xD;
		newSection.getBirds().addAll(oldSection.getBirds());&#xD;
		removeSnackBar(oldSection.getBar());&#xD;
&#xD;
		getSections().remove(oldSection.getId());&#xD;
&#xD;
		return true;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbO0p_ASEeq7X-Xlofz4yw" name="removeSnackBar" specification="_DYwIYPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbO0qPASEeq7X-Xlofz4yw" name="sb" type="_DRgQ4PASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbO0qfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>if(sb == null)&#xD;
			return false;&#xD;
&#xD;
		sb.getSection().setBar(null);&#xD;
		getBars().remove(sb.getId());&#xD;
		return true;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbO0qvASEeq7X-Xlofz4yw" name="removeSnack" specification="_DYwIY_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbO0q_ASEeq7X-Xlofz4yw" name="s" type="_DRaxUvASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbO0rPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>if(s == null)&#xD;
			return false;&#xD;
&#xD;
		for(SnackBar sb : getBars().values()) {&#xD;
			sb.getSnacks().remove(s);&#xD;
		}&#xD;
&#xD;
		getSnacks().remove(s.getId());&#xD;
		return true;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbO0rfASEeq7X-Xlofz4yw" name="getRealEmployee" specification="_DSKYMPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbO0rvASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbO0r_ASEeq7X-Xlofz4yw" type="_DRuTUPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>return getEmployees().get(id);&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbPbsPASEeq7X-Xlofz4yw" name="getRealVisitor" specification="_DSKYMvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbPbsfASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbPbsvASEeq7X-Xlofz4yw" type="_DRlJYPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>return getVisitors().get(id);&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbPbs_ASEeq7X-Xlofz4yw" name="getRealMammal" specification="_DSLmUPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbPbtPASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbPbtfASEeq7X-Xlofz4yw" type="_DRLgwPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>return getMammals().get(id);&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbPbtvASEeq7X-Xlofz4yw" name="getRealReptile" specification="_DSLmUvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbPbt_ASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbPbuPASEeq7X-Xlofz4yw" type="_DRVRwPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>return getReptiles().get(id);&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbPbufASEeq7X-Xlofz4yw" name="getRealBird" specification="_DSMNYPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbPbuvASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbPbu_ASEeq7X-Xlofz4yw" type="_DQ-scPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>return getBirds().get(id);&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbQCwPASEeq7X-Xlofz4yw" name="getRealSection" specification="_DSM0cPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbQCwfASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbQCwvASEeq7X-Xlofz4yw" type="_DSd6MPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>return getSections().get(id);&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbQCw_ASEeq7X-Xlofz4yw" name="getRealSnackBar" specification="_DSNbgPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbQCxPASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbQCxfASEeq7X-Xlofz4yw" type="_DRgQ4PASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>return getBars().get(id);&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbQCxvASEeq7X-Xlofz4yw" name="getRealSnack" specification="_DSOCkPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbQCx_ASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbQCyPASEeq7X-Xlofz4yw" type="_DRaxUvASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>return getSnacks().get(id);&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbQCyfASEeq7X-Xlofz4yw" name="checkTotalRevenue" specification="_DSOCkvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbQCyvASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
          <language>java</language>
          <body>double revenue = 0;&#xD;
		for(Section s : getSections().values()) {&#xD;
			revenue += s.getTodayRevenue();&#xD;
			revenue += s.getBar().getProfit()*SnackBar.getZooPercentage();&#xD;
		}&#xD;
		MyFileLogWriter.println(&quot;Zoo Revenue: &quot;+revenue);&#xD;
		return revenue;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbQp0PASEeq7X-Xlofz4yw" name="newVisitorInZoo" specification="_DYxWgfASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbQp0fASEeq7X-Xlofz4yw" name="v" type="_DRlJYPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbQp0vASEeq7X-Xlofz4yw" name="s" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbQp0_ASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>boolean isValid = true;&#xD;
		if(v == null || s == null) &#xD;
			isValid = false;&#xD;
&#xD;
		if(!addVisitor(v))&#xD;
			isValid = false;&#xD;
&#xD;
&#xD;
		if(isValid &amp;&amp; !s.getVisitors().contains(v)) {&#xD;
			s.getVisitors().add(v);&#xD;
			v.setSection(s);&#xD;
			double price = v.checkTicketPrice();&#xD;
			s.setTodayRevenue(s.getTodayRevenue() + price);&#xD;
			MyFileLogWriter.println(&quot;New &quot;+v+&quot; Paid &quot;+price+&quot; NIS&quot;);&#xD;
			return true;&#xD;
		}&#xD;
		MyFileLogWriter.println(v+&quot; didn't enter the zoo&quot;);&#xD;
		return false;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbQp1PASEeq7X-Xlofz4yw" name="getAllAnimalsBySectionMaxVisits" specification="_DYx9kPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbQp1fASEeq7X-Xlofz4yw" name="s" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbQp1vASEeq7X-Xlofz4yw" type="_DYRnQPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>if(s == null) {&#xD;
			return null;&#xD;
		}&#xD;
		ArrayList&lt;Animal> animals= new ArrayList&lt;Animal>();&#xD;
&#xD;
&#xD;
&#xD;
		for(Animal a : s.getBirds()) {&#xD;
&#xD;
			animals.add(a);&#xD;
&#xD;
&#xD;
&#xD;
		}&#xD;
&#xD;
		for(Animal a : s.getReptiles()) {&#xD;
			animals.add(a);&#xD;
&#xD;
		}&#xD;
&#xD;
		for(Animal a : s.getMammals()) {&#xD;
			animals.add(a);&#xD;
&#xD;
&#xD;
		}&#xD;
&#xD;
		animals.sort(new Comparator&lt;Animal>() {&#xD;
&#xD;
			@Override&#xD;
			public int compare(Animal o1, Animal o2) {&#xD;
				String o1Class = o1.getClass().getSimpleName();&#xD;
				String o2Class = o2.getClass().getSimpleName();&#xD;
				if(o1Class.equals(o2Class)) {&#xD;
					Integer count1= o1.getVisitCounter();&#xD;
					Integer count2 = o2.getVisitCounter();&#xD;
					return count1.compareTo(count2);&#xD;
				}&#xD;
				else&#xD;
					return o1Class.compareTo(o2Class);&#xD;
			}&#xD;
&#xD;
		});&#xD;
		return animals;&#xD;
&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbQp1_ASEeq7X-Xlofz4yw" name="allAnimalsByWorker" specification="_DYykoPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbQp2PASEeq7X-Xlofz4yw" name="employee" type="_DRuTUPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbQp2fASEeq7X-Xlofz4yw" type="_DYRnQPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>ArrayList&lt;Animal> treatsBy = new ArrayList&lt;Animal>();&#xD;
		if(getEmployees().containsValue(employee)) {&#xD;
			HashSet&lt;Animal> animalsOfEmployee = getAnimalTreatedByZooEmployee().get(employee);&#xD;
			&#xD;
			if(animalsOfEmployee == null) {&#xD;
				return null;&#xD;
			}&#xD;
			for(Bird b : getBirds().values()) {&#xD;
				if(!animalsOfEmployee.contains(b) &amp;&amp; (!b.isCanFly()))&#xD;
					treatsBy.add(b);&#xD;
			}&#xD;
			for(Mammal m : getMammals().values() ) {&#xD;
				if(!animalsOfEmployee.contains(m) &amp;&amp; (!m.isMeatEater()))&#xD;
					treatsBy.add(m);&#xD;
			}&#xD;
			for(Reptile r : getReptiles().values() ) {&#xD;
				if(!animalsOfEmployee.contains(r) &amp;&amp; (r.isDangerous()))&#xD;
					treatsBy.add(r);&#xD;
			}&#xD;
&#xD;
&#xD;
			treatsBy.sort(null);&#xD;
&#xD;
		}&#xD;
		return treatsBy;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbQp2vASEeq7X-Xlofz4yw" name="findAllSnackByWorker" specification="_DYzLsfASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbQp2_ASEeq7X-Xlofz4yw" name="sb" type="_DRgQ4PASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbQp3PASEeq7X-Xlofz4yw" type="_DYRnQPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>ArrayList&lt;Snack> snacks= new ArrayList&lt;Snack>();&#xD;
&#xD;
		for(Snack s : sb.getSnacks()) {&#xD;
			if(s instanceof Drink) {&#xD;
				Drink d = (Drink)s;&#xD;
				if(!d.isSprinkel()&amp;&amp; d.isIceCube()) {&#xD;
&#xD;
					snacks.add(d);&#xD;
				}&#xD;
			}&#xD;
			else if(s instanceof Food) {&#xD;
				Food f= (Food)s;&#xD;
				if(f.isSpaciy() &amp;&amp; !f.isPlate()) {&#xD;
					snacks.add(f);&#xD;
				}&#xD;
			}&#xD;
		}&#xD;
&#xD;
		snacks.sort(new Comparator&lt;Snack>() {&#xD;
&#xD;
			@Override&#xD;
			public int compare(Snack o1, Snack o2) {&#xD;
&#xD;
				return o1.getSnackName().compareTo(o2.getSnackName());&#xD;
			}&#xD;
&#xD;
&#xD;
		});&#xD;
&#xD;
		return snacks;&#xD;
&#xD;
&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbRQ4PASEeq7X-Xlofz4yw" name="reptilesSleepAtSeasson" specification="_DSOpoPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbRQ4fASEeq7X-Xlofz4yw" type="_DYRnQPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>ArrayList&lt;Reptile> reptiles = new ArrayList&lt;Reptile>();&#xD;
		if(getReptiles() !=null) {&#xD;
&#xD;
			for(Reptile r : getReptiles().values() ) {&#xD;
				if(r.isSeasonSleep() &amp;&amp; (!r.isDangerous()) ) {&#xD;
					reptiles.add(r);&#xD;
				}&#xD;
			}&#xD;
		}&#xD;
&#xD;
		reptiles.sort(new Comparator&lt;Reptile>() {&#xD;
&#xD;
			@Override&#xD;
			public int compare(Reptile o1, Reptile o2) {&#xD;
				if(o1.getName().equals(o2.getName())) {&#xD;
					return o1.getGender().compareTo(o2.getGender());&#xD;
				}&#xD;
				return o1.getName().compareTo(o2.getName());&#xD;
			}&#xD;
&#xD;
&#xD;
		});&#xD;
		return reptiles;&#xD;
&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbRQ4vASEeq7X-Xlofz4yw" name="geAllDiscountAmount" specification="_DSP3wPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbRQ4_ASEeq7X-Xlofz4yw" type="_DYoMkPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>TreeMap&lt;Visitor, Double> Discount = new TreeMap&lt;Visitor, Double>(new Comparator&lt;Visitor>() {&#xD;
&#xD;
			@Override&#xD;
			public int compare(Visitor o1, Visitor o2) {&#xD;
				Double o1Price = o1.getTicket().getValue()-o1.checkTicketPrice();&#xD;
				Double o2Price = o2.getTicket().getValue()-o2.checkTicketPrice();&#xD;
				return o1Price.compareTo(o2Price);&#xD;
			}&#xD;
		});&#xD;
&#xD;
		for(Visitor v : getVisitors().values()) {&#xD;
&#xD;
			Discount.put(v,  v.getTicket().getValue()-v.checkTicketPrice());&#xD;
&#xD;
		}&#xD;
&#xD;
		return Discount;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbRQ5PASEeq7X-Xlofz4yw" name="getMaxVisitorsVSMaxWorkers" specification="_DSQe0fASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbRQ5fASEeq7X-Xlofz4yw" type="_DSd6MPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>PriorityQueue&lt;Section> pqSection = new PriorityQueue&lt;Section>(new Comparator&lt;Section>() {&#xD;
&#xD;
			@Override&#xD;
			public int compare(Section o1, Section o2) {&#xD;
				int sub1= o1.getVisitors().size()-o1.getEmployees().size();&#xD;
				int sub2 = o2.getVisitors().size()-o2.getEmployees().size();&#xD;
&#xD;
				return sub2-sub1;&#xD;
			}&#xD;
&#xD;
&#xD;
		});&#xD;
&#xD;
		for(Section s: getSections().values()) {&#xD;
&#xD;
			pqSection.add(s);&#xD;
&#xD;
		}&#xD;
		return pqSection.poll();&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_DSGt0PASEeq7X-Xlofz4yw" name="getInstance" isStatic="true" method="_DbMYYPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYqBwPASEeq7X-Xlofz4yw" type="_DSE4o_ASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DSGt0fASEeq7X-Xlofz4yw" name="Zoo" visibility="private" method="_DbMYYvASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DSHU4PASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DSHU4fASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DSHU4vASEeq7X-Xlofz4yw" type="_DSE4o_ASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DSHU4_ASEeq7X-Xlofz4yw" name="getAnimalVisitsByPeople" method="_DbM_cvASEeq7X-Xlofz4yw">
          <ownedComment xmi:id="_DbjkwfASEeq7X-Xlofz4yw">
            <body>@return the animalVisitsByPeople</body>
          </ownedComment>
          <ownedParameter xmi:id="_DZwN8fASEeq7X-Xlofz4yw" type="_DYlwUfASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DSKYMPASEeq7X-Xlofz4yw" name="getRealEmployee" method="_DbO0rfASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DSKYMfASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DYwvcPASEeq7X-Xlofz4yw" type="_DRuTUPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DSKYMvASEeq7X-Xlofz4yw" name="getRealVisitor" method="_DbPbsPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DSK_QPASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DYwvcfASEeq7X-Xlofz4yw" type="_DRlJYPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DSLmUPASEeq7X-Xlofz4yw" name="getRealMammal" method="_DbPbs_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DSLmUfASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DYwvcvASEeq7X-Xlofz4yw" type="_DRLgwPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DSLmUvASEeq7X-Xlofz4yw" name="getRealReptile" method="_DbPbtvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DSLmU_ASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DYwvc_ASEeq7X-Xlofz4yw" type="_DRVRwPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DSMNYPASEeq7X-Xlofz4yw" name="getRealBird" method="_DbPbufASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DSMNYfASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DYwvdPASEeq7X-Xlofz4yw" type="_DQ-scPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DSM0cPASEeq7X-Xlofz4yw" name="getRealSection" method="_DbQCwPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DSM0cfASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DYwvdfASEeq7X-Xlofz4yw" type="_DSd6MPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DSNbgPASEeq7X-Xlofz4yw" name="getRealSnackBar" method="_DbQCw_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DSNbgfASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DYwvdvASEeq7X-Xlofz4yw" type="_DRgQ4PASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DSOCkPASEeq7X-Xlofz4yw" name="getRealSnack" method="_DbQCxvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DSOCkfASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DYxWgPASEeq7X-Xlofz4yw" type="_DRaxUvASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DSOCkvASEeq7X-Xlofz4yw" name="checkTotalRevenue" method="_DbQCyfASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DSOCk_ASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DSOpoPASEeq7X-Xlofz4yw" name="reptilesSleepAtSeasson" method="_DbRQ4PASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DZyDIfASEeq7X-Xlofz4yw" type="_DYRnQPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DSP3wPASEeq7X-Xlofz4yw" name="geAllDiscountAmount" method="_DbRQ4vASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DZyDIvASEeq7X-Xlofz4yw" type="_DYoMkPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DSQe0fASEeq7X-Xlofz4yw" name="getMaxVisitorsVSMaxWorkers" method="_DbRQ5PASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYzywfASEeq7X-Xlofz4yw" type="_DSd6MPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DYqBwfASEeq7X-Xlofz4yw" name="addEmployee" method="_DbM_dvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYqo0PASEeq7X-Xlofz4yw" name="employee" type="_DRuTUPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYqo0fASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DYqo0vASEeq7X-Xlofz4yw" name="addVisitor" method="_DbM_efASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYqo0_ASEeq7X-Xlofz4yw" name="v" type="_DRlJYPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYqo1PASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DYrP4PASEeq7X-Xlofz4yw" name="addMammalById" method="_DbNmgPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYrP4fASEeq7X-Xlofz4yw" name="m" type="_DRLgwPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYrP4vASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DYrP4_ASEeq7X-Xlofz4yw" name="addReptileById" method="_DbNmg_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYrP5PASEeq7X-Xlofz4yw" name="r" type="_DRVRwPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYrP5fASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DYr28PASEeq7X-Xlofz4yw" name="addBirdById" method="_DbNmhvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYr28fASEeq7X-Xlofz4yw" name="b" type="_DQ-scPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYr28vASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DYr28_ASEeq7X-Xlofz4yw" name="addSection" method="_DbNmifASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYr29PASEeq7X-Xlofz4yw" name="s" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYseAPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DYtFEPASEeq7X-Xlofz4yw" name="addSnack" method="_DbNmjPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYtFEfASEeq7X-Xlofz4yw" name="s" type="_DRaxUvASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYtFEvASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DYtFE_ASEeq7X-Xlofz4yw" name="addSnackBar" method="_DbONkPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYtFFPASEeq7X-Xlofz4yw" name="sb" type="_DRgQ4PASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYtFFfASEeq7X-Xlofz4yw" name="s" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYtFFvASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DYtFF_ASEeq7X-Xlofz4yw" name="removeEmployee" method="_DbONlPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYtsIPASEeq7X-Xlofz4yw" name="employee" type="_DRuTUPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYtsIfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DYtsIvASEeq7X-Xlofz4yw" name="removeVisitor" method="_DbONl_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYtsI_ASEeq7X-Xlofz4yw" name="v" type="_DRlJYPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYtsJPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DYuTMPASEeq7X-Xlofz4yw" name="removeMammal" method="_DbONmvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYuTMfASEeq7X-Xlofz4yw" name="m" type="_DRLgwPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYuTMvASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DYuTM_ASEeq7X-Xlofz4yw" name="removeReptile" method="_DbONnfASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYuTNPASEeq7X-Xlofz4yw" name="r" type="_DRVRwPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYuTNfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DYu6QPASEeq7X-Xlofz4yw" name="removeBird" method="_DbO0oPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYu6QfASEeq7X-Xlofz4yw" name="b" type="_DQ-scPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYu6QvASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DYvhUPASEeq7X-Xlofz4yw" name="removeSection" method="_DbO0o_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYvhUfASEeq7X-Xlofz4yw" name="oldSection" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYvhUvASEeq7X-Xlofz4yw" name="newSection" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYvhU_ASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DYwIYPASEeq7X-Xlofz4yw" name="removeSnackBar" method="_DbO0p_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYwIYfASEeq7X-Xlofz4yw" name="sb" type="_DRgQ4PASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYwIYvASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DYwIY_ASEeq7X-Xlofz4yw" name="removeSnack" method="_DbO0qvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYwIZPASEeq7X-Xlofz4yw" name="s" type="_DRaxUvASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYwIZfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DYxWgfASEeq7X-Xlofz4yw" name="newVisitorInZoo" method="_DbQp0PASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYxWgvASEeq7X-Xlofz4yw" name="v" type="_DRlJYPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYxWg_ASEeq7X-Xlofz4yw" name="s" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYxWhPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DYx9kPASEeq7X-Xlofz4yw" name="getAllAnimalsBySectionMaxVisits" method="_DbQp1PASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYx9kfASEeq7X-Xlofz4yw" name="s" type="_DSd6MPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZxcEPASEeq7X-Xlofz4yw" type="_DYRnQPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DYykoPASEeq7X-Xlofz4yw" name="allAnimalsByWorker" method="_DbQp1_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYykofASEeq7X-Xlofz4yw" name="employee" type="_DRuTUPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZxcEfASEeq7X-Xlofz4yw" type="_DYRnQPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DYzLsfASEeq7X-Xlofz4yw" name="findAllSnackByWorker" method="_DbQp2vASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYzLsvASEeq7X-Xlofz4yw" name="sb" type="_DRgQ4PASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZyDIPASEeq7X-Xlofz4yw" type="_DYRnQPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DZsjkPASEeq7X-Xlofz4yw" name="setVisitorsById" method="_DbMYZPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DZsjkfASEeq7X-Xlofz4yw" name="visitors" type="_DYlwUfASEeq7X-Xlofz4yw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DZtxsPASEeq7X-Xlofz4yw" name="setMammalsById" method="_DbMYZvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DZtxsfASEeq7X-Xlofz4yw" name="mammals" type="_DYlwUfASEeq7X-Xlofz4yw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DZuYwfASEeq7X-Xlofz4yw" name="setReptilesById" method="_DbMYaPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DZuYwvASEeq7X-Xlofz4yw" name="reptiles" type="_DYlwUfASEeq7X-Xlofz4yw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DZu_0fASEeq7X-Xlofz4yw" name="setBirdsById" method="_DbMYavASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DZu_0vASEeq7X-Xlofz4yw" name="birds" type="_DYlwUfASEeq7X-Xlofz4yw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DZvm4fASEeq7X-Xlofz4yw" name="setSnacksById" method="_DbM_cPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DZvm4vASEeq7X-Xlofz4yw" name="snacks" type="_DYlwUfASEeq7X-Xlofz4yw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DZw1APASEeq7X-Xlofz4yw" name="setAnimalVisitsByPeople" method="_DbM_dPASEeq7X-Xlofz4yw">
          <ownedComment xmi:id="_DbjkwvASEeq7X-Xlofz4yw">
            <body>@param animalVisitsByPeople the animalVisitsByPeople to set</body>
          </ownedComment>
          <ownedParameter xmi:id="_DZw1AfASEeq7X-Xlofz4yw" name="animalVisitsByPeople" type="_DYlwUfASEeq7X-Xlofz4yw"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_DSd6MPASEeq7X-Xlofz4yw" name="Section">
        <ownedAttribute xmi:id="_DanJkPASEeq7X-Xlofz4yw" name="idCounter" visibility="private" isStatic="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DanJkfASEeq7X-Xlofz4yw" value="1"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DanwoPASEeq7X-Xlofz4yw" name="id">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DanwofASEeq7X-Xlofz4yw" name="sectionName">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DanwovASEeq7X-Xlofz4yw" name="bar" type="_DRgQ4PASEeq7X-Xlofz4yw" association="_DbkL0PASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_Danwo_ASEeq7X-Xlofz4yw" name="maxCapacity" visibility="private" isLeaf="true" isReadOnly="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaoXsfASEeq7X-Xlofz4yw" name="todayRevenue">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaoXsvASEeq7X-Xlofz4yw" name="employees" type="_DXrKUPASEeq7X-Xlofz4yw" association="_Db90cPASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_Dao-wfASEeq7X-Xlofz4yw" name="visitors" type="_DXrKUPASEeq7X-Xlofz4yw" association="_Db90c_ASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_Dapl0fASEeq7X-Xlofz4yw" name="mammals" type="_DXrKUPASEeq7X-Xlofz4yw" association="_Db-bgfASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaqM4PASEeq7X-Xlofz4yw" name="reptiles" type="_DXrKUPASEeq7X-Xlofz4yw" association="_Db-bhPASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_DaqM4vASEeq7X-Xlofz4yw" name="birds" type="_DXrKUPASEeq7X-Xlofz4yw" association="_Db_CkfASEeq7X-Xlofz4yw"/>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbSfAPASEeq7X-Xlofz4yw" name="Section" specification="_DSfvYPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbSfAfASEeq7X-Xlofz4yw" name="sectionName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbSfAvASEeq7X-Xlofz4yw" name="maxCapacity">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbSfA_ASEeq7X-Xlofz4yw" type="_DSd6MPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>super();&#xD;
		this.id = idCounter++;&#xD;
		this.sectionName = sectionName;&#xD;
		this.maxCapacity = maxCapacity;&#xD;
		todayRevenue = 0;&#xD;
		employees = new HashSet&lt;>();&#xD;
		visitors = new HashSet&lt;>();&#xD;
		mammals = new HashSet&lt;>();&#xD;
		reptiles = new HashSet&lt;>();&#xD;
		birds = new HashSet&lt;>();&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbSfBPASEeq7X-Xlofz4yw" name="Section" specification="_DSg9gPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbSfBfASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbSfBvASEeq7X-Xlofz4yw" type="_DSd6MPASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>super();&#xD;
		this.id = id;&#xD;
		this.maxCapacity = 0;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbSfB_ASEeq7X-Xlofz4yw" name="getMaxCapacity" specification="_DSg9hfASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbSfCPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <language>java</language>
          <body>return maxCapacity;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbTGEPASEeq7X-Xlofz4yw" name="toString" specification="_DShkkPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbTGEfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <language>java</language>
          <body>return &quot;Section [id=&quot; + id + &quot;, sectionName=&quot; + sectionName + &quot;, maxCapacity=&quot; + maxCapacity + &quot;, todayRevenue=&quot;&#xD;
				+ todayRevenue + &quot;]&quot;;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbTGEvASEeq7X-Xlofz4yw" name="equals" specification="_DZ1tgPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbTGE_ASEeq7X-Xlofz4yw" name="obj" type="_DZS68PASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbTGFPASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>if (this == obj)&#xD;
			return true;&#xD;
		if (obj == null)&#xD;
			return false;&#xD;
		if (getClass() != obj.getClass())&#xD;
			return false;&#xD;
		Section other = (Section) obj;&#xD;
		if (id != other.id)&#xD;
			return false;&#xD;
		return true;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbTGFfASEeq7X-Xlofz4yw" name="getSectionDetails" specification="_DSiLovASEeq7X-Xlofz4yw">
          <language>java</language>
          <body>int animalNum = mammals.size()+reptiles.size()+birds.size();&#xD;
		MyFileLogWriter.println(&quot;Section &quot;+getSectionName()+&quot; ,Number Of Employees: &quot;+&#xD;
	getEmployees().size() +&quot; ,Number Of Visitors: &quot;+getVisitors().size()+ &quot; ,Number Of&quot;&#xD;
			+ &quot; Animals: &quot;+animalNum+&quot; ,Profit Today: &quot;+getTodayRevenue());&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_DSfvYPASEeq7X-Xlofz4yw" name="Section" method="_DbSfAPASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DSgWcPASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DSgWcfASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DSfvYfASEeq7X-Xlofz4yw" name="sectionName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DSfvYvASEeq7X-Xlofz4yw" name="maxCapacity">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DSgWcvASEeq7X-Xlofz4yw" type="_DSd6MPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DSg9gPASEeq7X-Xlofz4yw" name="Section" method="_DbSfBPASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DSg9gvASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DSg9g_ASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DSg9gfASEeq7X-Xlofz4yw" name="id">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DSg9hPASEeq7X-Xlofz4yw" type="_DSd6MPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DSg9hfASEeq7X-Xlofz4yw" name="getMaxCapacity" method="_DbSfB_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DSg9hvASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DShkkPASEeq7X-Xlofz4yw" name="toString" method="_DbTGEPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DShkkfASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DSiLovASEeq7X-Xlofz4yw" name="getSectionDetails" method="_DbTGFfASEeq7X-Xlofz4yw"/>
        <ownedOperation xmi:id="_DZ1tgPASEeq7X-Xlofz4yw" name="equals" method="_DbTGEvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DZ1tgfASEeq7X-Xlofz4yw" name="obj" type="_DZS68PASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZ1tgvASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Dbbo8PASEeq7X-Xlofz4yw" name="" memberEnd="_DaIBYvASEeq7X-Xlofz4yw _Dbbo8fASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Dbbo8fASEeq7X-Xlofz4yw" name="" type="_DQzGQPASEeq7X-Xlofz4yw" association="_Dbbo8PASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Dbbo8vASEeq7X-Xlofz4yw" name="" memberEnd="_DaIocPASEeq7X-Xlofz4yw _Dbbo8_ASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Dbbo8_ASEeq7X-Xlofz4yw" name="" type="_DQzGQPASEeq7X-Xlofz4yw" association="_Dbbo8vASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_DbcQAPASEeq7X-Xlofz4yw" name="" memberEnd="_DaIocvASEeq7X-Xlofz4yw _DbcQAfASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_DbcQAfASEeq7X-Xlofz4yw" name="" type="_DQzGQPASEeq7X-Xlofz4yw" association="_DbcQAPASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_DbcQAvASEeq7X-Xlofz4yw" name="" memberEnd="_DaIoc_ASEeq7X-Xlofz4yw _DbcQA_ASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_DbcQA_ASEeq7X-Xlofz4yw" name="" type="_DQzGQPASEeq7X-Xlofz4yw" association="_DbcQAvASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Dbc3EPASEeq7X-Xlofz4yw" name="" memberEnd="_DaOvEPASEeq7X-Xlofz4yw _Dbc3EfASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Dbc3EfASEeq7X-Xlofz4yw" name="" type="_DRQZQPASEeq7X-Xlofz4yw" association="_Dbc3EPASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_DbdeIPASEeq7X-Xlofz4yw" name="" memberEnd="_DaOvEfASEeq7X-Xlofz4yw _DbdeIfASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_DbdeIfASEeq7X-Xlofz4yw" name="" type="_DRQZQPASEeq7X-Xlofz4yw" association="_DbdeIPASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_DbdeIvASEeq7X-Xlofz4yw" name="" memberEnd="_DaOvEvASEeq7X-Xlofz4yw _DbdeI_ASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_DbdeI_ASEeq7X-Xlofz4yw" name="" type="_DRQZQPASEeq7X-Xlofz4yw" association="_DbdeIvASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_DbeFMfASEeq7X-Xlofz4yw" name="" memberEnd="_DaRLUvASEeq7X-Xlofz4yw _DbeFMvASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_DbeFMvASEeq7X-Xlofz4yw" name="" type="_DRaxUvASEeq7X-Xlofz4yw" association="_DbeFMfASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_DbeFM_ASEeq7X-Xlofz4yw" name="" memberEnd="_DaRLU_ASEeq7X-Xlofz4yw _DbeFNPASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_DbeFNPASEeq7X-Xlofz4yw" name="" type="_DRaxUvASEeq7X-Xlofz4yw" association="_DbeFM_ASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_DbesQPASEeq7X-Xlofz4yw" name="" memberEnd="_DaTnkPASEeq7X-Xlofz4yw _DbfTUPASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_DbfTUPASEeq7X-Xlofz4yw" name="" type="_DRgQ4PASEeq7X-Xlofz4yw" association="_DbesQPASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Dbf6YPASEeq7X-Xlofz4yw" name="" memberEnd="_DaWq4PASEeq7X-Xlofz4yw _Dbf6YfASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Dbf6YfASEeq7X-Xlofz4yw" name="" type="_DRlJYPASEeq7X-Xlofz4yw" association="_Dbf6YPASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Dbf6YvASEeq7X-Xlofz4yw" name="" memberEnd="_DaWq4fASEeq7X-Xlofz4yw _Dbf6Y_ASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Dbf6Y_ASEeq7X-Xlofz4yw" name="" type="_DRlJYPASEeq7X-Xlofz4yw" association="_Dbf6YvASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_DbhvkPASEeq7X-Xlofz4yw" name="" memberEnd="_DaYgEvASEeq7X-Xlofz4yw _DbhvkfASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_DbhvkfASEeq7X-Xlofz4yw" name="" type="_DRuTUPASEeq7X-Xlofz4yw" association="_DbhvkPASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_DbkL0PASEeq7X-Xlofz4yw" name="" memberEnd="_DanwovASEeq7X-Xlofz4yw _DbkL0fASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_DbkL0fASEeq7X-Xlofz4yw" name="" type="_DSd6MPASEeq7X-Xlofz4yw" association="_DbkL0PASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Db3t0fASEeq7X-Xlofz4yw" name="" memberEnd="_Db3t0vASEeq7X-Xlofz4yw _DaTnkfASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Db3t0vASEeq7X-Xlofz4yw" name="" type="_DRgQ4PASEeq7X-Xlofz4yw" association="_Db3t0fASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Db5jAfASEeq7X-Xlofz4yw" name="" memberEnd="_Db5jAvASEeq7X-Xlofz4yw _DaemsPASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Db5jAvASEeq7X-Xlofz4yw" name="" type="_DSE4o_ASEeq7X-Xlofz4yw" association="_Db5jAfASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Db5jBPASEeq7X-Xlofz4yw" name="" memberEnd="_Db5jBfASEeq7X-Xlofz4yw _DafNwPASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Db5jBfASEeq7X-Xlofz4yw" name="" type="_DSE4o_ASEeq7X-Xlofz4yw" association="_Db5jBPASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Db6KEfASEeq7X-Xlofz4yw" name="" memberEnd="_Db6KEvASEeq7X-Xlofz4yw _Daf00PASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Db6KEvASEeq7X-Xlofz4yw" name="" type="_DSE4o_ASEeq7X-Xlofz4yw" association="_Db6KEfASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Db6xIPASEeq7X-Xlofz4yw" name="" memberEnd="_Db6xIfASEeq7X-Xlofz4yw _Dagb4PASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Db6xIfASEeq7X-Xlofz4yw" name="" type="_DSE4o_ASEeq7X-Xlofz4yw" association="_Db6xIPASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Db6xI_ASEeq7X-Xlofz4yw" name="" memberEnd="_Db6xJPASEeq7X-Xlofz4yw _Dagb4vASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Db6xJPASEeq7X-Xlofz4yw" name="" type="_DSE4o_ASEeq7X-Xlofz4yw" association="_Db6xI_ASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Db7YMfASEeq7X-Xlofz4yw" name="" memberEnd="_Db7YMvASEeq7X-Xlofz4yw _DahC8fASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Db7YMvASEeq7X-Xlofz4yw" name="" type="_DSE4o_ASEeq7X-Xlofz4yw" association="_Db7YMfASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Db7YNPASEeq7X-Xlofz4yw" name="" memberEnd="_Db7YNfASEeq7X-Xlofz4yw _DahqAfASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Db7YNfASEeq7X-Xlofz4yw" name="" type="_DSE4o_ASEeq7X-Xlofz4yw" association="_Db7YNPASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Db7_QfASEeq7X-Xlofz4yw" name="" memberEnd="_Db7_QvASEeq7X-Xlofz4yw _DaiREfASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Db7_QvASEeq7X-Xlofz4yw" name="" type="_DSE4o_ASEeq7X-Xlofz4yw" association="_Db7_QfASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Db8mUfASEeq7X-Xlofz4yw" name="" memberEnd="_Db8mUvASEeq7X-Xlofz4yw _DajfMvASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Db8mUvASEeq7X-Xlofz4yw" name="" type="_DSE4o_ASEeq7X-Xlofz4yw" association="_Db8mUfASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Db8mVPASEeq7X-Xlofz4yw" name="" memberEnd="_Db8mVfASEeq7X-Xlofz4yw _DakGQfASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Db8mVfASEeq7X-Xlofz4yw" name="" type="_DSE4o_ASEeq7X-Xlofz4yw" association="_Db8mVPASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Db9NYfASEeq7X-Xlofz4yw" name="" memberEnd="_Db9NYvASEeq7X-Xlofz4yw _DaktUfASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Db9NYvASEeq7X-Xlofz4yw" name="" type="_DSE4o_ASEeq7X-Xlofz4yw" association="_Db9NYfASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Db90cPASEeq7X-Xlofz4yw" name="" memberEnd="_Db90cfASEeq7X-Xlofz4yw _DaoXsvASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Db90cfASEeq7X-Xlofz4yw" name="" type="_DSd6MPASEeq7X-Xlofz4yw" association="_Db90cPASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Db90c_ASEeq7X-Xlofz4yw" name="" memberEnd="_Db90dPASEeq7X-Xlofz4yw _Dao-wfASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Db90dPASEeq7X-Xlofz4yw" name="" type="_DSd6MPASEeq7X-Xlofz4yw" association="_Db90c_ASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Db-bgfASEeq7X-Xlofz4yw" name="" memberEnd="_Db-bgvASEeq7X-Xlofz4yw _Dapl0fASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Db-bgvASEeq7X-Xlofz4yw" name="" type="_DSd6MPASEeq7X-Xlofz4yw" association="_Db-bgfASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Db-bhPASEeq7X-Xlofz4yw" name="" memberEnd="_Db-bhfASEeq7X-Xlofz4yw _DaqM4PASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Db-bhfASEeq7X-Xlofz4yw" name="" type="_DSd6MPASEeq7X-Xlofz4yw" association="_Db-bhPASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Db_CkfASEeq7X-Xlofz4yw" name="" memberEnd="_Db_CkvASEeq7X-Xlofz4yw _DaqM4vASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Db_CkvASEeq7X-Xlofz4yw" name="" type="_DSd6MPASEeq7X-Xlofz4yw" association="_Db_CkfASEeq7X-Xlofz4yw"/>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="_DONFQPASEeq7X-Xlofz4yw" name="Utils">
      <packagedElement xmi:type="uml:Enumeration" xmi:id="_DRqB4PASEeq7X-Xlofz4yw" name="TicketType">
        <ownedAttribute xmi:id="_DaX5APASEeq7X-Xlofz4yw" name="value" visibility="private" isLeaf="true" isReadOnly="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
        </ownedAttribute>
        <ownedOperation xmi:id="_DRseIPASEeq7X-Xlofz4yw" name="TicketType" visibility="private" method="_DbIG9fASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DRseIvASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DRtFMPASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DRseIfASEeq7X-Xlofz4yw" name="value">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DRtFMfASEeq7X-Xlofz4yw" type="_DRqB4PASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DRtFMvASEeq7X-Xlofz4yw" name="getValue" method="_DbIuAPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DRtFM_ASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
        </ownedOperation>
        <ownedLiteral xmi:id="_DRqo8PASEeq7X-Xlofz4yw" name="Child">
          <specification xmi:type="uml:Expression" xmi:id="_DRqo8fASEeq7X-Xlofz4yw">
            <operand xmi:type="uml:LiteralString" xmi:id="_DbghcPASEeq7X-Xlofz4yw" value="20"/>
          </specification>
        </ownedLiteral>
        <ownedLiteral xmi:id="_DRqo8vASEeq7X-Xlofz4yw" name="Adult">
          <specification xmi:type="uml:Expression" xmi:id="_DRqo8_ASEeq7X-Xlofz4yw">
            <operand xmi:type="uml:LiteralString" xmi:id="_DbghcfASEeq7X-Xlofz4yw" value="40"/>
          </specification>
        </ownedLiteral>
        <ownedLiteral xmi:id="_DRqo9PASEeq7X-Xlofz4yw" name="Old">
          <specification xmi:type="uml:Expression" xmi:id="_DRrQAPASEeq7X-Xlofz4yw">
            <operand xmi:type="uml:LiteralString" xmi:id="_DbhIgPASEeq7X-Xlofz4yw" value="30"/>
          </specification>
        </ownedLiteral>
        <ownedLiteral xmi:id="_DRrQAfASEeq7X-Xlofz4yw" name="Student">
          <specification xmi:type="uml:Expression" xmi:id="_DRrQAvASEeq7X-Xlofz4yw">
            <operand xmi:type="uml:LiteralString" xmi:id="_DbhIgfASEeq7X-Xlofz4yw" value="30"/>
          </specification>
        </ownedLiteral>
        <ownedLiteral xmi:id="_DRrQA_ASEeq7X-Xlofz4yw" name="Soldiar">
          <specification xmi:type="uml:Expression" xmi:id="_DRrQBPASEeq7X-Xlofz4yw">
            <operand xmi:type="uml:LiteralString" xmi:id="_DbhIgvASEeq7X-Xlofz4yw" value="25"/>
          </specification>
        </ownedLiteral>
        <ownedLiteral xmi:id="_DRrQBfASEeq7X-Xlofz4yw" name="EmployeeRelative">
          <specification xmi:type="uml:Expression" xmi:id="_DRrQBvASEeq7X-Xlofz4yw">
            <operand xmi:type="uml:LiteralString" xmi:id="_DbhIg_ASEeq7X-Xlofz4yw" value="10"/>
          </specification>
        </ownedLiteral>
      </packagedElement>
      <packagedElement xmi:type="uml:Enumeration" xmi:id="_DRx9sPASEeq7X-Xlofz4yw" name="AnimalFood">
        <ownedLiteral xmi:id="_DRykwfASEeq7X-Xlofz4yw" name="Peanuts"/>
        <ownedLiteral xmi:id="_DRzL0PASEeq7X-Xlofz4yw" name="Corn"/>
        <ownedLiteral xmi:id="_DRzL0fASEeq7X-Xlofz4yw" name="Carrot"/>
        <ownedLiteral xmi:id="_DRzL0vASEeq7X-Xlofz4yw" name="Cucumber"/>
        <ownedLiteral xmi:id="_DRzL0_ASEeq7X-Xlofz4yw" name="Sausage"/>
        <ownedLiteral xmi:id="_DRzL1PASEeq7X-Xlofz4yw" name="Raw_Meat"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_DRzL1fASEeq7X-Xlofz4yw" name="CSVExportRequest">
        <ownedComment xmi:id="_DbiWoPASEeq7X-Xlofz4yw">
          <body>Created by Antonio Zaitoun on 31/08/2017.</body>
        </ownedComment>
        <ownedAttribute xmi:id="_DaZHIPASEeq7X-Xlofz4yw" name="name" isReadOnly="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaZHIfASEeq7X-Xlofz4yw" name="columns" isReadOnly="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DaZHIvASEeq7X-Xlofz4yw" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DaZuMPASEeq7X-Xlofz4yw" name="data" type="_DYebkfASEeq7X-Xlofz4yw" isReadOnly="true" association="_Db4U4fASEeq7X-Xlofz4yw"/>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbJ8IPASEeq7X-Xlofz4yw" name="CSVExportRequest" specification="_DZl14PASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbJ8IfASEeq7X-Xlofz4yw" name="fileName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbJ8IvASEeq7X-Xlofz4yw" name="data" type="_DYd0gPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbJ8I_ASEeq7X-Xlofz4yw" name="columns">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DbJ8JPASEeq7X-Xlofz4yw" value="*"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbJ8JfASEeq7X-Xlofz4yw" type="_DRzL1fASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>setData(new ArrayList&lt;>(data));
     setColumns(Arrays.copyOf(columns,columns.length));
     setName(fileName);
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbJ8JvASEeq7X-Xlofz4yw" name="setName" specification="_DR0Z8PASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbJ8J_ASEeq7X-Xlofz4yw" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <language>java</language>
          <body>this.name = name;
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbJ8KPASEeq7X-Xlofz4yw" name="setColumns" specification="_DR0Z8vASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbJ8KfASEeq7X-Xlofz4yw" name="columns">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DbJ8KvASEeq7X-Xlofz4yw" value="*"/>
          </ownedParameter>
          <language>java</language>
          <body>this.columns = columns;
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbJ8K_ASEeq7X-Xlofz4yw" name="setData" specification="_DZmc8vASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbJ8LPASEeq7X-Xlofz4yw" name="data" type="_DYebkfASEeq7X-Xlofz4yw"/>
          <language>java</language>
          <body>this.data = data;
 </body>
        </ownedBehavior>
        <ownedOperation xmi:id="_DR0Z8PASEeq7X-Xlofz4yw" name="setName" visibility="private" method="_DbJ8JvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DR0Z8fASEeq7X-Xlofz4yw" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DR0Z8vASEeq7X-Xlofz4yw" name="setColumns" visibility="private" method="_DbJ8KPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DR0Z8_ASEeq7X-Xlofz4yw" name="columns">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DR0Z9PASEeq7X-Xlofz4yw" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DZl14PASEeq7X-Xlofz4yw" name="CSVExportRequest" method="_DbJ8IPASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DZl15PASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DZl15fASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DZl14fASEeq7X-Xlofz4yw" name="fileName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DZl14vASEeq7X-Xlofz4yw" name="data" type="_DYd0gPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZl14_ASEeq7X-Xlofz4yw" name="columns">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DZmc8fASEeq7X-Xlofz4yw" value="*"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DZl15vASEeq7X-Xlofz4yw" type="_DRzL1fASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DZmc8vASEeq7X-Xlofz4yw" name="setData" visibility="private" method="_DbJ8K_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DZmc8_ASEeq7X-Xlofz4yw" name="data" type="_DYebkfASEeq7X-Xlofz4yw"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_DR2PIPASEeq7X-Xlofz4yw" name="CSVExporter" isLeaf="true">
        <ownedAttribute xmi:id="_Daa8UfASEeq7X-Xlofz4yw" name="FILE_SEPERATOR" visibility="private" isLeaf="true" isStatic="true" isReadOnly="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DabjYPASEeq7X-Xlofz4yw" value="&quot;,&quot;"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DabjYfASEeq7X-Xlofz4yw" name="NEW_LINE" visibility="private" isLeaf="true" isStatic="true" isReadOnly="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DabjYvASEeq7X-Xlofz4yw" value="&quot;\n&quot;"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DabjY_ASEeq7X-Xlofz4yw" name="QUOTE" visibility="private" isLeaf="true" isStatic="true" isReadOnly="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DabjZPASEeq7X-Xlofz4yw" value="&quot;\&quot;&quot;"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_DacKcPASEeq7X-Xlofz4yw" name="EXT" visibility="private" isLeaf="true" isStatic="true" isReadOnly="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DacKcfASEeq7X-Xlofz4yw" value="&quot;.csv&quot;"/>
        </ownedAttribute>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbKjMPASEeq7X-Xlofz4yw" name="export" specification="_DZoSIPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbKjMfASEeq7X-Xlofz4yw" name="fileName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbKjMvASEeq7X-Xlofz4yw" name="data" type="_DYd0gPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbKjM_ASEeq7X-Xlofz4yw" name="columns">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DbKjNPASEeq7X-Xlofz4yw" value="*"/>
          </ownedParameter>
          <language>java</language>
          <body>export(new CSVExportRequest(fileName,data,columns));
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbKjNfASEeq7X-Xlofz4yw" name="export" specification="_DYfCofASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbKjNvASEeq7X-Xlofz4yw" name="request" type="_DRzL1fASEeq7X-Xlofz4yw"/>
          <language>java</language>
          <body>export(request,null);
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbKjN_ASEeq7X-Xlofz4yw" name="export" specification="_DYfpsfASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbKjOPASEeq7X-Xlofz4yw" name="request" type="_DRzL1fASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbKjOfASEeq7X-Xlofz4yw" name="callBack" type="_DR4rYPASEeq7X-Xlofz4yw"/>
          <language>java</language>
          <body>export(request,callBack,false);
 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbKjOvASEeq7X-Xlofz4yw" name="export" specification="_DYgQwvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbKjO_ASEeq7X-Xlofz4yw" name="request" type="_DRzL1fASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbKjPPASEeq7X-Xlofz4yw" name="callBack" type="_DR4rYPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DbKjPfASEeq7X-Xlofz4yw" name="async">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>Thread s = new Thread(() -> {
         try {
             PrintWriter writer = new PrintWriter(request.getName() + EXT,&quot;UTF-8&quot;);

             final int columns = request.getColumns().length;

             //write columns
             for(int i = 0; i &lt; columns; i++ )
                 writer.print(QUOTE + request.getColumns()[i] + QUOTE +
                         (i == columns - 1 ? NEW_LINE : FILE_SEPERATOR));

             //write data
             for(int i = 0; i &lt; request.getData().size();i++)
                 for(int j = 0; j &lt; columns ; j++)
                     writer.print(QUOTE + request.getData().get(i)[j] + QUOTE +
                             (j == columns - 1 ? NEW_LINE : FILE_SEPERATOR));

             writer.close();

             if(callBack != null)
                 callBack.callBack(request.getName() + EXT,true);

         } catch (FileNotFoundException | UnsupportedEncodingException e) {
             if(callBack != null)
                 callBack.callBack(request.getName() + EXT,false);
         }
     });

     if(async)
         s.start();
     else
         s.run();

 </body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbKjPvASEeq7X-Xlofz4yw" name="importCSV" specification="_DR3dQPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbKjP_ASEeq7X-Xlofz4yw" name="path">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DbKjQPASEeq7X-Xlofz4yw" type="_DYebkfASEeq7X-Xlofz4yw" direction="return"/>
          <language>java</language>
          <body>ArrayList&lt;String[]> list = new ArrayList&lt;>();
     BufferedReader br = new BufferedReader(new FileReader(new File(path)));

     String line;
     while ((line = br.readLine()) != null) {
         String[] entries = line.split(FILE_SEPERATOR);
         list.add(entries);
     }

     return list;
 </body>
        </ownedBehavior>
        <ownedOperation xmi:id="_DR3dQPASEeq7X-Xlofz4yw" name="importCSV" isStatic="true" method="_DbKjPvASEeq7X-Xlofz4yw" raisedException="_DXXBQPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DR3dQfASEeq7X-Xlofz4yw" name="path">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DZpgQPASEeq7X-Xlofz4yw" type="_DYebkfASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DYfCofASEeq7X-Xlofz4yw" name="export" isStatic="true" method="_DbKjNfASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYfCovASEeq7X-Xlofz4yw" name="request" type="_DRzL1fASEeq7X-Xlofz4yw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DYfpsfASEeq7X-Xlofz4yw" name="export" isStatic="true" method="_DbKjN_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYfpsvASEeq7X-Xlofz4yw" name="request" type="_DRzL1fASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYgQwPASEeq7X-Xlofz4yw" name="callBack" type="_DR4rYPASEeq7X-Xlofz4yw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DYgQwvASEeq7X-Xlofz4yw" name="export" isStatic="true" method="_DbKjOvASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DYgQw_ASEeq7X-Xlofz4yw" name="request" type="_DRzL1fASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYgQxPASEeq7X-Xlofz4yw" name="callBack" type="_DR4rYPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DYgQxfASEeq7X-Xlofz4yw" name="async">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DZoSIPASEeq7X-Xlofz4yw" name="export" isStatic="true" method="_DbKjMPASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DZoSIfASEeq7X-Xlofz4yw" name="fileName">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DZoSIvASEeq7X-Xlofz4yw" name="data" type="_DYd0gPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DZoSI_ASEeq7X-Xlofz4yw" name="columns">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DZo5MfASEeq7X-Xlofz4yw" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <nestedClassifier xmi:type="uml:Interface" xmi:id="_DR4rYPASEeq7X-Xlofz4yw" name="ExportCallBack">
          <ownedOperation xmi:id="_DR5ScPASEeq7X-Xlofz4yw" name="callBack">
            <ownedComment xmi:id="_DbiWofASEeq7X-Xlofz4yw">
              <body>@param fileName The name of the file including the `csv` extension.
         * @param success true if exported successfully.</body>
            </ownedComment>
            <ownedParameter xmi:id="_DR5ScfASEeq7X-Xlofz4yw" name="fileName">
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            </ownedParameter>
            <ownedParameter xmi:id="_DR5ScvASEeq7X-Xlofz4yw" name="success">
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
            </ownedParameter>
          </ownedOperation>
        </nestedClassifier>
      </packagedElement>
      <packagedElement xmi:type="uml:Enumeration" xmi:id="_DR7usPASEeq7X-Xlofz4yw" name="Discount">
        <ownedAttribute xmi:id="_DacxgPASEeq7X-Xlofz4yw" name="percentage" visibility="private" isLeaf="true" isReadOnly="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
        </ownedAttribute>
        <ownedOperation xmi:id="_DR9j4PASEeq7X-Xlofz4yw" name="Discount" visibility="private" method="_DbLKQPASEeq7X-Xlofz4yw">
          <eAnnotations xmi:id="_DR9j4vASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_DR9j4_ASEeq7X-Xlofz4yw" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_DR9j4fASEeq7X-Xlofz4yw" name="percentage">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
          <ownedParameter xmi:id="_DR9j5PASEeq7X-Xlofz4yw" type="_DR7usPASEeq7X-Xlofz4yw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_DR-K8PASEeq7X-Xlofz4yw" name="getPercentage" method="_DbLKQ_ASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DR-K8fASEeq7X-Xlofz4yw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
        </ownedOperation>
        <ownedLiteral xmi:id="_DR7usfASEeq7X-Xlofz4yw" name="Hever">
          <specification xmi:type="uml:Expression" xmi:id="_DR8VwPASEeq7X-Xlofz4yw">
            <operand xmi:type="uml:LiteralString" xmi:id="_DbiWovASEeq7X-Xlofz4yw" value="30"/>
          </specification>
        </ownedLiteral>
        <ownedLiteral xmi:id="_DR8VwfASEeq7X-Xlofz4yw" name="Haifa_Student">
          <specification xmi:type="uml:Expression" xmi:id="_DR8VwvASEeq7X-Xlofz4yw">
            <operand xmi:type="uml:LiteralString" xmi:id="_Dbi9sPASEeq7X-Xlofz4yw" value="10"/>
          </specification>
        </ownedLiteral>
        <ownedLiteral xmi:id="_DR8Vw_ASEeq7X-Xlofz4yw" name="Beyahad">
          <specification xmi:type="uml:Expression" xmi:id="_DR8VxPASEeq7X-Xlofz4yw">
            <operand xmi:type="uml:LiteralString" xmi:id="_Dbi9sfASEeq7X-Xlofz4yw" value="20"/>
          </specification>
        </ownedLiteral>
        <ownedLiteral xmi:id="_DR8VxfASEeq7X-Xlofz4yw" name="Behatzdaa">
          <specification xmi:type="uml:Expression" xmi:id="_DR8VxvASEeq7X-Xlofz4yw">
            <operand xmi:type="uml:LiteralString" xmi:id="_Dbi9svASEeq7X-Xlofz4yw" value="20"/>
          </specification>
        </ownedLiteral>
        <ownedLiteral xmi:id="_DR8Vx_ASEeq7X-Xlofz4yw" name="Max">
          <specification xmi:type="uml:Expression" xmi:id="_DR8VyPASEeq7X-Xlofz4yw">
            <operand xmi:type="uml:LiteralString" xmi:id="_Dbi9s_ASEeq7X-Xlofz4yw" value="25"/>
          </specification>
        </ownedLiteral>
        <ownedLiteral xmi:id="_DR8VyfASEeq7X-Xlofz4yw" name="Kranot">
          <specification xmi:type="uml:Expression" xmi:id="_DR880PASEeq7X-Xlofz4yw">
            <operand xmi:type="uml:LiteralString" xmi:id="_Dbi9tPASEeq7X-Xlofz4yw" value="25"/>
          </specification>
        </ownedLiteral>
        <ownedLiteral xmi:id="_DR880fASEeq7X-Xlofz4yw" name="No_Discount">
          <specification xmi:type="uml:Expression" xmi:id="_DR880vASEeq7X-Xlofz4yw">
            <operand xmi:type="uml:LiteralString" xmi:id="_Dbi9tfASEeq7X-Xlofz4yw" value="0"/>
          </specification>
        </ownedLiteral>
      </packagedElement>
      <packagedElement xmi:type="uml:Enumeration" xmi:id="_DR_ZEPASEeq7X-Xlofz4yw" name="Gender">
        <ownedLiteral xmi:id="_DSAAIPASEeq7X-Xlofz4yw" name="Male"/>
        <ownedLiteral xmi:id="_DSAAIfASEeq7X-Xlofz4yw" name="Female"/>
        <ownedLiteral xmi:id="_DSAAIvASEeq7X-Xlofz4yw" name="Unknown"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Enumeration" xmi:id="_DSAAI_ASEeq7X-Xlofz4yw" name="Job">
        <ownedLiteral xmi:id="_DSAnMfASEeq7X-Xlofz4yw" name="Vet"/>
        <ownedLiteral xmi:id="_DSAnMvASEeq7X-Xlofz4yw" name="Therapist"/>
        <ownedLiteral xmi:id="_DSAnM_ASEeq7X-Xlofz4yw" name="Administrative"/>
        <ownedLiteral xmi:id="_DSBOQPASEeq7X-Xlofz4yw" name="Ticket_Seller"/>
        <ownedLiteral xmi:id="_DSBOQfASEeq7X-Xlofz4yw" name="SnackBar_Seller"/>
        <ownedLiteral xmi:id="_DSBOQvASEeq7X-Xlofz4yw" name="Section_Supervise"/>
        <ownedLiteral xmi:id="_DSBOQ_ASEeq7X-Xlofz4yw" name="Cleaner"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_DSBORPASEeq7X-Xlofz4yw" name="MyFileLogWriter" isLeaf="true">
        <ownedComment xmi:id="_DbjkwPASEeq7X-Xlofz4yw">
          <body>A utility class for logging output text to a file&#xD;
note: final means that we can't extends this class&#xD;
@author Java Course Team 2020 - Gaston &amp; Or&#xD;
@author University Of Haifa - Israel</body>
        </ownedComment>
        <ownedAttribute xmi:id="_DadYkfASEeq7X-Xlofz4yw" name="outputLogFile" visibility="private" isStatic="true" type="_DYiF8PASEeq7X-Xlofz4yw" association="_Db4U5PASEeq7X-Xlofz4yw"/>
        <ownedAttribute xmi:id="_Dad_ofASEeq7X-Xlofz4yw" name="writer" visibility="private" isStatic="true" type="_DYitAfASEeq7X-Xlofz4yw" association="_Db478fASEeq7X-Xlofz4yw"/>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbLxUPASEeq7X-Xlofz4yw" name="initializeMyFileWriter" specification="_DSCcYPASEeq7X-Xlofz4yw">
          <language>java</language>
          <body>/* If we don't want to override the same file each time then&#xD;
		  * we can use Calendar.getInstance().getTimeInMillis() by adding it &#xD;
		  * to the name of the file. &#xD;
		  */&#xD;
		 outputLogFile = new File(&quot;output.txt&quot;);&#xD;
		try {&#xD;
         writer = new FileWriter(outputLogFile);&#xD;
		} catch (IOException e) {&#xD;
			e.printStackTrace();&#xD;
		} &#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbLxUfASEeq7X-Xlofz4yw" name="println" specification="_DSCcYfASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DbLxUvASEeq7X-Xlofz4yw" name="message">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <language>java</language>
          <body>try {&#xD;
			writer.write(message);&#xD;
			writer.write(System.getProperty(&quot;line.separator&quot;));&#xD;
&#xD;
		} catch (IOException e) {&#xD;
			e.printStackTrace();&#xD;
		}&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DbLxU_ASEeq7X-Xlofz4yw" name="saveLogFile" specification="_DSCcY_ASEeq7X-Xlofz4yw">
          <language>java</language>
          <body>try {&#xD;
			writer.close();&#xD;
		} catch (IOException e) {&#xD;
			e.printStackTrace();&#xD;
		}&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_DSCcYPASEeq7X-Xlofz4yw" name="initializeMyFileWriter" isStatic="true" method="_DbLxUPASEeq7X-Xlofz4yw"/>
        <ownedOperation xmi:id="_DSCcYfASEeq7X-Xlofz4yw" name="println" isStatic="true" method="_DbLxUfASEeq7X-Xlofz4yw">
          <ownedParameter xmi:id="_DSCcYvASEeq7X-Xlofz4yw" name="message">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_DSCcY_ASEeq7X-Xlofz4yw" name="saveLogFile" isStatic="true" method="_DbLxU_ASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Enumeration" xmi:id="_DSDqgPASEeq7X-Xlofz4yw" name="SnackType">
        <ownedLiteral xmi:id="_DSERkPASEeq7X-Xlofz4yw" name="Snack"/>
        <ownedLiteral xmi:id="_DSERkfASEeq7X-Xlofz4yw" name="Drink"/>
        <ownedLiteral xmi:id="_DSERkvASEeq7X-Xlofz4yw" name="Meat"/>
        <ownedLiteral xmi:id="_DSE4oPASEeq7X-Xlofz4yw" name="Vegiterian"/>
        <ownedLiteral xmi:id="_DSE4ofASEeq7X-Xlofz4yw" name="Gluten_Free"/>
        <ownedLiteral xmi:id="_DSE4ovASEeq7X-Xlofz4yw" name="Dairy_Snack"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Db4U4fASEeq7X-Xlofz4yw" name="" memberEnd="_Db4U4vASEeq7X-Xlofz4yw _DaZuMPASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Db4U4vASEeq7X-Xlofz4yw" name="" type="_DRzL1fASEeq7X-Xlofz4yw" association="_Db4U4fASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Db4U5PASEeq7X-Xlofz4yw" name="" memberEnd="_Db4U5fASEeq7X-Xlofz4yw _DadYkfASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Db4U5fASEeq7X-Xlofz4yw" name="" type="_DSBORPASEeq7X-Xlofz4yw" association="_Db4U5PASEeq7X-Xlofz4yw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_Db478fASEeq7X-Xlofz4yw" name="" memberEnd="_Db478vASEeq7X-Xlofz4yw _Dad_ofASEeq7X-Xlofz4yw">
        <ownedEnd xmi:id="_Db478vASEeq7X-Xlofz4yw" name="" type="_DSBORPASEeq7X-Xlofz4yw" association="_Db478fASEeq7X-Xlofz4yw"/>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="_DONsUPASEeq7X-Xlofz4yw" name="java">
      <packagedElement xmi:type="uml:Package" xmi:id="_DONsUfASEeq7X-Xlofz4yw" name="io">
        <packagedElement xmi:type="uml:Class" xmi:id="_DXXBQPASEeq7X-Xlofz4yw" name="IOException"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_DYNV0PASEeq7X-Xlofz4yw" name="FileOutputStream"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_DYiF8PASEeq7X-Xlofz4yw" name="File"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_DYitAfASEeq7X-Xlofz4yw" name="FileWriter"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Package" xmi:id="_DONsUvASEeq7X-Xlofz4yw" name="text">
        <packagedElement xmi:type="uml:Class" xmi:id="_DXXoUfASEeq7X-Xlofz4yw" name="ParseException"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_DXY2cfASEeq7X-Xlofz4yw" name="SimpleDateFormat"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Package" xmi:id="_DONsU_ASEeq7X-Xlofz4yw" name="time">
        <packagedElement xmi:type="uml:Package" xmi:id="_DOOTYPASEeq7X-Xlofz4yw" name="temporal">
          <packagedElement xmi:type="uml:Interface" xmi:id="_DXaEkfASEeq7X-Xlofz4yw" name="TemporalAccessor"/>
          <packagedElement xmi:type="uml:Interface" xmi:id="_DXarofASEeq7X-Xlofz4yw" name="TemporalField"/>
        </packagedElement>
        <packagedElement xmi:type="uml:Class" xmi:id="_DXZdgfASEeq7X-Xlofz4yw" name="LocalDate"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_DYlJQfASEeq7X-Xlofz4yw" name="LocalDateTime"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_DYlJQ_ASEeq7X-Xlofz4yw" name="LocalTime"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Package" xmi:id="_DOOTYfASEeq7X-Xlofz4yw" name="util">
        <packagedElement xmi:type="uml:Package" xmi:id="_DOOTYvASEeq7X-Xlofz4yw" name="regex">
          <packagedElement xmi:type="uml:Class" xmi:id="_DXbSsfASEeq7X-Xlofz4yw" name="Pattern"/>
        </packagedElement>
        <packagedElement xmi:type="uml:Interface" xmi:id="_DXgLMPASEeq7X-Xlofz4yw" name="Comparator"/>
        <packagedElement xmi:type="uml:DataType" xmi:id="_DXiAYPASEeq7X-Xlofz4yw" name="Date"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_DXrKUPASEeq7X-Xlofz4yw" name="HashSet"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_DYRnQPASEeq7X-Xlofz4yw" name="ArrayList"/>
        <packagedElement xmi:type="uml:Interface" xmi:id="_DYXG0PASEeq7X-Xlofz4yw" name="PrimitiveIterator"/>
        <packagedElement xmi:type="uml:Interface" xmi:id="_DYd0gPASEeq7X-Xlofz4yw" name="Collection"/>
        <packagedElement xmi:type="uml:Interface" xmi:id="_DYebkfASEeq7X-Xlofz4yw" name="List"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_DYlwUfASEeq7X-Xlofz4yw" name="HashMap"/>
        <packagedElement xmi:type="uml:Interface" xmi:id="_DYm-cfASEeq7X-Xlofz4yw" name="Iterator"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_DYnlgfASEeq7X-Xlofz4yw" name="PriorityQueue"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_DYoMkPASEeq7X-Xlofz4yw" name="TreeMap"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_DYoMkvASEeq7X-Xlofz4yw" name="TreeSet"/>
        <packagedElement xmi:type="uml:Interface" xmi:id="_DZ4JwPASEeq7X-Xlofz4yw" name="Map"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Package" xmi:id="_DPVGoPASEeq7X-Xlofz4yw" name="lang">
        <packagedElement xmi:type="uml:Package" xmi:id="_DPVGofASEeq7X-Xlofz4yw" name="reflect">
          <packagedElement xmi:type="uml:Class" xmi:id="_DYkiMPASEeq7X-Xlofz4yw" name="Array"/>
        </packagedElement>
        <packagedElement xmi:type="uml:Class" xmi:id="_DZM0UPASEeq7X-Xlofz4yw" name="Exception"/>
        <packagedElement xmi:type="uml:Interface" xmi:id="_DZQesPASEeq7X-Xlofz4yw" name="Comparable"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_DZS68PASEeq7X-Xlofz4yw" name="Object"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_DZ5X4PASEeq7X-Xlofz4yw" name="StringBuilder"/>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="_DOO6cPASEeq7X-Xlofz4yw" name="javax">
      <packagedElement xmi:type="uml:Package" xmi:id="_DOO6cfASEeq7X-Xlofz4yw" name="management">
        <packagedElement xmi:type="uml:Package" xmi:id="_DOO6cvASEeq7X-Xlofz4yw" name="modelmbean">
          <packagedElement xmi:type="uml:Interface" xmi:id="_DXb5wfASEeq7X-Xlofz4yw" name="ModelMBean"/>
        </packagedElement>
      </packagedElement>
      <packagedElement xmi:type="uml:Package" xmi:id="_DOjDgPASEeq7X-Xlofz4yw" name="net">
        <packagedElement xmi:type="uml:Package" xmi:id="_DOjDgfASEeq7X-Xlofz4yw" name="ssl">
          <packagedElement xmi:type="uml:Interface" xmi:id="_DXsYcPASEeq7X-Xlofz4yw" name="HostnameVerifier"/>
        </packagedElement>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_DQlq4PASEeq7X-Xlofz4yw" name="Main">
      <ownedAttribute xmi:id="_DaEXBPASEeq7X-Xlofz4yw" name="s" visibility="package" isStatic="true" type="_DRaxUvASEeq7X-Xlofz4yw" association="_Db1RkPASEeq7X-Xlofz4yw"/>
      <ownedAttribute xmi:id="_DaE-EfASEeq7X-Xlofz4yw" name="zoo" visibility="private" isStatic="true" type="_DSE4o_ASEeq7X-Xlofz4yw" association="_Db14ofASEeq7X-Xlofz4yw">
        <defaultValue xmi:type="uml:LiteralString" xmi:id="_DaE-EvASEeq7X-Xlofz4yw" value="Zoo.getInstance()"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="_DaE-FPASEeq7X-Xlofz4yw" name="document" visibility="private" isStatic="true" type="_DSkn4PASEeq7X-Xlofz4yw" association="_Db14pPASEeq7X-Xlofz4yw">
        <defaultValue xmi:type="uml:LiteralString" xmi:id="_DaE-FfASEeq7X-Xlofz4yw" value="new OutputDocument()"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="_DaFlIfASEeq7X-Xlofz4yw" name="commands" visibility="private" isStatic="true" type="_DQrKcPASEeq7X-Xlofz4yw" association="_Db2fsfASEeq7X-Xlofz4yw">
        <qualifier xmi:id="_DaGMMPASEeq7X-Xlofz4yw">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </qualifier>
        <defaultValue xmi:type="uml:LiteralString" xmi:id="_DaFlIvASEeq7X-Xlofz4yw" value="new HashMap&lt;>()"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="_DaGMMfASEeq7X-Xlofz4yw" name="sections" visibility="private" isStatic="true" type="_DSrVkPASEeq7X-Xlofz4yw" association="_Db3GwfASEeq7X-Xlofz4yw">
        <qualifier xmi:id="_DaGMNPASEeq7X-Xlofz4yw">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </qualifier>
        <defaultValue xmi:type="uml:LiteralString" xmi:id="_DaGMMvASEeq7X-Xlofz4yw" value="new HashMap&lt;>()"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="_DaGMNfASEeq7X-Xlofz4yw" name="formatter" visibility="private" isStatic="true" type="_DXY2cfASEeq7X-Xlofz4yw" association="_Db3GxPASEeq7X-Xlofz4yw">
        <defaultValue xmi:type="uml:LiteralString" xmi:id="_DaGzQPASEeq7X-Xlofz4yw" value="new SimpleDateFormat(&quot;dd/MM/yyyy&quot;)"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="_DaGzQvASEeq7X-Xlofz4yw" name="PIPELINE" visibility="private" isLeaf="true" isStatic="true" isReadOnly="true">
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <defaultValue xmi:type="uml:LiteralString" xmi:id="_DaGzQ_ASEeq7X-Xlofz4yw" value="Pattern.quote(&quot;|&quot;)"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="_DaGzRPASEeq7X-Xlofz4yw" name="OUTPUT_FILE" visibility="private" isLeaf="true" isStatic="true" isReadOnly="true">
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <defaultValue xmi:type="uml:LiteralString" xmi:id="_DaHaUPASEeq7X-Xlofz4yw" value="&quot;output.txt&quot;"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="_DaHaUfASEeq7X-Xlofz4yw" name="AP_FILE" visibility="private" isLeaf="true" isStatic="true" isReadOnly="true">
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <defaultValue xmi:type="uml:LiteralString" xmi:id="_DaHaUvASEeq7X-Xlofz4yw" value="&quot;ap_test_output.xml&quot;"/>
      </ownedAttribute>
      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_Da9u4PASEeq7X-Xlofz4yw" name="_initializer1" specification="_DQngEPASEeq7X-Xlofz4yw">
        <language>java</language>
        <body>Section space = document.nextSection();
		Section finish = document.nextSection();

		Section sectionSection = document.nextSection();
		Section barSection = document.nextSection();
		Section empSection = document.nextSection();
		Section visitorSection = document.nextSection();
		Section mammalSection = document.nextSection();
		Section reptielSection = document.nextSection();
		Section birdSection = document.nextSection();
		Section snackSection = document.nextSection();

		Section removeEmp = document.nextSection();
		Section removeVisitor = document.nextSection();
		Section removeMammal = document.nextSection();
		Section removeReptile = document.nextSection();
		Section removeBird = document.nextSection();
		Section removeSection = document.nextSection();
		Section removeSnack = document.nextSection();
		Section removeSnackBar = document.nextSection();

		Section getSectionDetails = document.nextSection();
		Section moveVisitorToSection = document.nextSection();
		Section purchaseSnack = document.nextSection();
		Section checkTotalRevenue = document.nextSection();
		Section getAllAnimalsBySectionMaxVisits = document.nextSection();
		Section allAnimalsByWorker = document.nextSection();
		Section findAllSnackByWorker = document.nextSection();
		Section reptilesSleepAtSeasson = document.nextSection();
		Section geAllDiscountAmount = document.nextSection();
		Section getMaxVisitorsVSMaxWorkers = document.nextSection();
		Section VisitAnimalsByVisitor = document.nextSection();
		Section TreatAnimalByWorker = document.nextSection();




		sections.put(&quot;addSection&quot;,sectionSection);
		sections.put(&quot;addSnackBar&quot;,barSection);
		sections.put(&quot;addEmployee&quot;,empSection);
		sections.put(&quot;addVisitor&quot;,visitorSection);
		sections.put(&quot;addMammal&quot;,mammalSection);
		sections.put(&quot;addReptile&quot;,reptielSection);
		sections.put(&quot;addBird&quot;,birdSection);
		sections.put(&quot;addSnack&quot;,snackSection);

		sections.put(&quot;removeEmployee&quot;,removeEmp);
		sections.put(&quot;removeVisitor&quot;,removeVisitor);
		sections.put(&quot;removeMammal&quot;,removeMammal);
		sections.put(&quot;removeReptile&quot;,removeReptile);
		sections.put(&quot;removeBird&quot;,removeBird);
		sections.put(&quot;removeSection&quot;,removeSection);
		sections.put(&quot;removeSnackBar&quot;,removeSnackBar);
		sections.put(&quot;removeSnack&quot;,removeSnack);

		sections.put(&quot;getSectionDetails&quot;,getSectionDetails);
		sections.put(&quot;moveVisitorToSection&quot;,moveVisitorToSection);
		sections.put(&quot;purchaseSnack&quot;,purchaseSnack);
		sections.put(&quot;checkTotalRevenue&quot;,checkTotalRevenue);
		sections.put(&quot;getAllAnimalsBySectionMaxVisits&quot;, getAllAnimalsBySectionMaxVisits);
		sections.put(&quot;allAnimalsByWorker&quot;, allAnimalsByWorker);
		sections.put(&quot;findAllSnackByWorker&quot;, findAllSnackByWorker);
		sections.put(&quot;reptilesSleepAtSeasson&quot;, reptilesSleepAtSeasson);
		sections.put(&quot;geAllDiscountAmount&quot; , geAllDiscountAmount);
		sections.put(&quot;getMaxVisitorsVSMaxWorkers&quot; , getMaxVisitorsVSMaxWorkers);
		sections.put(&quot;VisitAnimalsByVisitor&quot; , VisitAnimalsByVisitor);
		sections.put(&quot;TreatAnimalByWorker&quot; , TreatAnimalByWorker);




		sections.put(&quot;space&quot;,space);
		sections.put(&quot;finish&quot;,finish);

		commands.put(&quot;space&quot;, (section, args) -> {
			MyFileLogWriter.println(&quot;&quot;);
		});

		commands.put(&quot;finish&quot;, (section, args) -> {
			MyFileLogWriter.saveLogFile();
		});

		//non binary args: (string name,string specialization, int numberOfDepartments)
		commands.put(&quot;addSection&quot;, (section, args) -> {
			Model.Section s = new Model.Section(args[0], Integer.parseInt(args[1]));
			if(zoo.addSection(s))
				MyFileLogWriter.println(&quot;successfully added Section &quot;+args[0]);
			else
				MyFileLogWriter.println(&quot;failed to add Section &quot;+args[0]);

		});

		//non binary args: (string firstName, string lastName, string specialization, int subID)
		commands.put(&quot;addSnackBar&quot;, (section, args) -> {
			SnackBar.setZooPercentage(0.2);
			Model.Section s = zoo.getRealSection(Integer.parseInt(args[1]));
			SnackBar sb = new SnackBar(args[0], s);
			if(zoo.addSnackBar(sb, s))
				MyFileLogWriter.println(&quot;successfully added SnackBar &quot;+args[0]);
			else
				MyFileLogWriter.println(&quot;failed to add SnackBar &quot;+args[0]);
		});

		//non binary args: (string firstName, string lastName, string treatment, int subID)
		commands.put(&quot;addEmployee&quot;, (section, args) -> {
			LocalDate date = LocalDate.of(Integer.parseInt(args[2]), Integer.parseInt(args[3]), Integer.parseInt(args[4]));
			ZooEmployee e = new ZooEmployee(args[0], args[1], date, Gender.valueOf(args[5]),
					zoo.getRealSection(Integer.parseInt(args[6])), Job.valueOf(args[7]));

			if(zoo.addEmployee(e)) {
				MyFileLogWriter.println(&quot;successfully added Employee &quot;+args[0]+&quot; &quot;+args[1]);
				try {
					zoo.getRealBird(Integer.parseInt(args[8])).visitcount(e);
					zoo.getRealMammal(Integer.parseInt(args[9])).visitcount(e);
				} catch (AnimalsVisitsException e1) {
					MyFileLogWriter.println(e1.getMessage());
				}
			}
			else
				MyFileLogWriter.println(&quot;failed to add Employee &quot;+args[0]+&quot; &quot;+args[1]);

		});

		//non binary args: (string firstName, string lastName, int status, int subID)
		commands.put(&quot;addVisitor&quot;, (section, args) -> {
			LocalDate date = LocalDate.of(Integer.parseInt(args[2]), Integer.parseInt(args[3]), Integer.parseInt(args[4]));
			int year = Integer.parseInt(args[2]);
			TicketType ticket;

			if(year &lt; 1960)
				ticket = TicketType.Old;
			else if(year >= 1960 &amp;&amp; year &lt; 1990)
				ticket = TicketType.Adult;
			else if(year >= 1990 &amp;&amp; year &lt; 2002)
				ticket = TicketType.Student;
			else if(year >= 2002 &amp;&amp; year &lt; 2005)
				ticket = TicketType.Soldiar;
			else
				ticket = TicketType.Child;

			Visitor v = new Visitor(args[0], args[1], date, Gender.valueOf(args[5]),
					ticket, Discount.valueOf(args[7]));

			if(zoo.newVisitorInZoo(v, zoo.getRealSection(Integer.parseInt(args[6])))) {
				MyFileLogWriter.println(&quot;successfully added Visitor &quot;+args[0]+&quot; &quot;+args[1]);
				try {
					zoo.getRealBird(Integer.parseInt(args[8])).visitcount(v);
					zoo.getRealMammal(Integer.parseInt(args[9])).visitcount(v);
				} catch (AnimalsVisitsException e) {
					MyFileLogWriter.println(e.getMessage());
				}
			}
			else
				MyFileLogWriter.println(&quot;failed to add Visitor &quot;+args[0]+&quot; &quot;+args[1]);



		});

		//non binary args: (string name, strings symptoms)
		commands.put(&quot;addMammal&quot;, (section, args) -> {
			LocalDate date = LocalDate.of(Integer.parseInt(args[1]), Integer.parseInt(args[2]), Integer.parseInt(args[3]));
			Mammal m = new Mammal(args[0], date, AnimalFood.valueOf(args[4]), 
					Gender.valueOf(args[5]), zoo.getRealSection(Integer.parseInt(args[6]))
					, (args[7].equals(&quot;TRUE&quot;) ? true : false),args[8].equals(&quot;TRUE&quot;) ? true : false);
			m.setVisitCounter(Integer.parseInt(args[9]));
			if(zoo.addMammalById(m))
				MyFileLogWriter.println(&quot;successfully added Mammal &quot;+args[0]);
			else
				MyFileLogWriter.println(&quot;failed to add Mammal &quot;+args[0]);
		});

		//non binary args: (int patientID, int docID, int DiseaseID, String note)
		commands.put(&quot;addReptile&quot;, (section, args) -> {
			LocalDate date = LocalDate.of(Integer.parseInt(args[1]), Integer.parseInt(args[2]), Integer.parseInt(args[3]));
			Reptile r = new Reptile(args[0], date, AnimalFood.valueOf(args[4]), 
					Gender.valueOf(args[5]), zoo.getRealSection(Integer.parseInt(args[6]))
					, (args[7].equals(&quot;TRUE&quot;) ? true : false),args[8].equals(&quot;TRUE&quot;) ? true : false);
			r.setVisitCounter(Integer.parseInt(args[9]));
			if(zoo.addReptileById(r))
				MyFileLogWriter.println(&quot;successfully added Reptile &quot;+args[0]);
			else
				MyFileLogWriter.println(&quot;failed to add Reptile &quot;+args[0]);
		});

		//non binary args: (int patientID)
		commands.put(&quot;addBird&quot;, (section, args) -> {
			LocalDate date = LocalDate.of(Integer.parseInt(args[1]), Integer.parseInt(args[2]), Integer.parseInt(args[3]));
			Bird b = new Bird(args[0], date, AnimalFood.valueOf(args[4]), 
					Gender.valueOf(args[5]), zoo.getRealSection(Integer.parseInt(args[6]))
					, (args[7].equals(&quot;TRUE&quot;) ? true : false),args[8].equals(&quot;TRUE&quot;) ? true : false);
			b.setVisitCounter(Integer.parseInt(args[9]));
			if(zoo.addBirdById(b))
				MyFileLogWriter.println(&quot;successfully added Bird &quot;+args[0]);
			else
				MyFileLogWriter.println(&quot;failed to add Bird &quot;+args[0]);
		});


		commands.put(&quot;addSnack&quot;, (section, args) -> {
			if(!SnackType.valueOf(args[1]).equals(SnackType.Drink) ) {
				s = new Food(SnackType.valueOf(args[1]), args[0], 
						zoo.getRealSnackBar(Integer.parseInt(args[4])),
						(args[2].equals(&quot;TRUE&quot;) ? true : false)
						, Double.parseDouble(args[3]),
						(args[5].equals(&quot;TRUE&quot;) ? true : false),
						(args[6].equals(&quot;TRUE&quot;) ? true : false),
						(args[7].equals(&quot;TRUE&quot;) ? true : false));
			}
			else if(args.length>6)
				s = new Drink(SnackType.valueOf(args[1]), args[0], 
						zoo.getRealSnackBar(Integer.parseInt(args[4])),
						(args[2].equals(&quot;TRUE&quot;) ? true : false)
						, Double.parseDouble(args[3]),
						args[5].equals(&quot;TRUE&quot;) ? true : false,
								args[6].equals(&quot;TRUE&quot;) ? true : false,
										args[7].equals(&quot;TRUE&quot;) ? true : false);

			if(zoo.addSnack(s))
				MyFileLogWriter.println(&quot;successfully added Snack &quot;+s);
			else
				MyFileLogWriter.println(&quot;failed to add Snack &quot;+args[0]);

		});

		commands.put(&quot;getSectionDetails&quot;, (section, args) -> {
			for(Model.Section s : zoo.getSections().values()) {
				s.getSectionDetails();
			}
		});

		commands.put(&quot;moveVisitorToSection&quot;, (section, args) -> {
			Visitor v = zoo.getRealVisitor(Integer.parseInt(args[0]));
			Model.Section s = zoo.getRealSection(Integer.parseInt(args[1]));

			v.moveVisitorToSection(s);

		});

		commands.put(&quot;purchaseSnack&quot;, (section, args) -> {
			Snack s = zoo.getRealSnack(Integer.parseInt(args[0]));
			Visitor v = zoo.getRealVisitor(Integer.parseInt(args[1]));;
			v.purchaseSnack(s);
		});

		commands.put(&quot;checkTotalRevenue&quot;, (section, args) -> {
			zoo.checkTotalRevenue();
		});

		commands.put(&quot;removeEmployee&quot;, (section, args) -> {
			ZooEmployee e = zoo.getRealEmployee(Integer.parseInt(args[0]));
			if(zoo.removeEmployee(e))
				MyFileLogWriter.println(&quot;successfully removed Employee &quot;+args[0]);
			else
				MyFileLogWriter.println(&quot;failed to remove Employee &quot;+args[0]);
		});

		commands.put(&quot;removeVisitor&quot;, (section, args) -> {
			Visitor v = zoo.getRealVisitor(Integer.parseInt(args[0]));
			if(zoo.removeVisitor(v))
				MyFileLogWriter.println(&quot;successfully removed Visitor &quot;+args[0]);
			else
				MyFileLogWriter.println(&quot;failed to remove Visitor &quot;+args[0]);
		});

		commands.put(&quot;removeMammal&quot;, (section, args) -> {
			Mammal m = zoo.getRealMammal(Integer.parseInt(args[0]));
			if(zoo.removeMammal(m))
				MyFileLogWriter.println(&quot;successfully removed Mammal &quot;+args[0]);
			else
				MyFileLogWriter.println(&quot;failed to remove Mammal &quot;+args[0]);
		});

		commands.put(&quot;removeReptile&quot;, (section, args) -> {
			Reptile r = zoo.getRealReptile(Integer.parseInt(args[0]));
			if(zoo.removeReptile(r))
				MyFileLogWriter.println(&quot;successfully removed Reptile &quot;+args[0]);
			else
				MyFileLogWriter.println(&quot;failed to remove Reptile &quot;+args[0]);
		});

		commands.put(&quot;removeBird&quot;, (section, args) -> {
			Bird b = zoo.getRealBird(Integer.parseInt(args[0]));
			if(zoo.removeBird(b))
				MyFileLogWriter.println(&quot;successfully removed Bird &quot;+args[0]);
			else
				MyFileLogWriter.println(&quot;failed to remove Bird &quot;+args[0]);
		});

		commands.put(&quot;removeSection&quot;, (section, args) -> {
			Model.Section old = zoo.getRealSection(Integer.parseInt(args[0]));
			Model.Section newS = zoo.getRealSection(Integer.parseInt(args[1]));

			if(zoo.removeSection(old, newS))
				MyFileLogWriter.println(&quot;successfully removed Section &quot;+args[0]);
			else
				MyFileLogWriter.println(&quot;failed to remove Section &quot;+args[0]);

		});

		commands.put(&quot;removeSnackBar&quot;, (section, args) -> {
			SnackBar sb = zoo.getRealSnackBar(Integer.parseInt(args[0]));
			if(zoo.removeSnackBar(sb))
				MyFileLogWriter.println(&quot;successfully removed SnackBar &quot;+args[0]);
			else
				MyFileLogWriter.println(&quot;failed to remove SnackBar &quot;+args[0]);
		});

		commands.put(&quot;removeSnack&quot;, (section, args) -> {
			Snack s = zoo.getRealSnack(Integer.parseInt(args[0]));
			if(zoo.removeSnack(s))
				MyFileLogWriter.println(&quot;successfully removed Snack &quot;+args[0]);
			else
				MyFileLogWriter.println(&quot;failed to remove Snack &quot;+args[0]);
		});

		commands.put(&quot;VisitAnimalsByVisitor&quot;, (section, args) -> {
			HashSet&lt;Animal> ani = new HashSet&lt;Animal>();
			Animal a = zoo.getRealBird(Integer.parseInt(args[0]));
			Visitor e = zoo.getRealVisitor(Integer.parseInt(args[1]));
			Animal a1 = zoo.getRealMammal(Integer.parseInt(args[2]));
			Animal a2 = zoo.getRealReptile(Integer.parseInt(args[3]));
			ani.add(a1);
			ani.add(a);
			ani.add(a2);

			if(zoo.getAnimalVisitsByPeople()!=null) {

				zoo.getAnimalVisitsByPeople().put(e, ani );
				MyFileLogWriter.println(&quot;successfully added to visits&quot;);}
			else
				MyFileLogWriter.println(&quot;failed added to visits &quot;);
		});
		commands.put(&quot;TreatAnimalByWorker&quot;, (section, args) -> {
			HashSet&lt;Animal> ani = new HashSet&lt;Animal>();
			Animal a = zoo.getRealBird(Integer.parseInt(args[0]));
			ZooEmployee employee = zoo.getRealEmployee(Integer.parseInt(args[1]));
			Animal a1 = zoo.getRealMammal(Integer.parseInt(args[2]));
			Animal a2 = zoo.getRealReptile(Integer.parseInt(args[3]));
			ani.add(a1);
			ani.add(a);
			ani.add(a2);

			if(zoo.getAnimalTreatedByZooEmployee()!=null ) {
				zoo.getAnimalTreatedByZooEmployee().put(employee, ani);
				MyFileLogWriter.println(&quot;successfully added to treat by VET &quot;);}
			else
				MyFileLogWriter.println(&quot;failed added to treat by VET&quot;);
		});

		commands.put(&quot;getAllAnimalsBySectionMaxVisits&quot;, (section, args) -> {
			MyFileLogWriter.println(&quot;Query 1: [getAllAnimalsBySectionMaxVisits]&quot;);
			Model.Section s = zoo.getRealSection(Integer.parseInt(args[0]));
			String str = &quot;&quot;;
			if(s!=null) {

				ArrayList&lt;Animal> animal= zoo.getAllAnimalsBySectionMaxVisits(s);
				if(!animal.isEmpty()) {

					for( Animal a :animal) {
						str+=&quot;\n&quot;+a+&quot;\n&quot;;
					}

					MyFileLogWriter.println(&quot;successfully get all animals by section &quot; +str);
				}

				else
					MyFileLogWriter.println(&quot;failed get all animals by section &quot;+args[0]);


			}

		});

		commands.put(&quot;allAnimalsByWorker&quot;, (section, args) -> {
			MyFileLogWriter.println(&quot;Query 2: [allAnimalsByWorker]&quot;);
			ZooEmployee employee = zoo.getRealEmployee(Integer.parseInt(args[0]));
			String t=&quot;&quot;;


			ArrayList&lt;Animal> ani =	 zoo.allAnimalsByWorker(employee);
			if(ani != null &amp;&amp; !ani.isEmpty()) {
				for(Animal a :ani ) {

					t+= &quot;\n&quot;+a+&quot;\n&quot;;
				}

				MyFileLogWriter.println(&quot;successfully to get all animals from worker &quot;+t);}

			else
				MyFileLogWriter.println(&quot;failed to get all animals from worker &quot;+args[0]);
		});

		commands.put(&quot;findAllSnackByWorker&quot;, (section, args) -> {
			MyFileLogWriter.println(&quot;Query 3: [findAllSnackByWorker]&quot;);
			SnackBar sb = zoo.getRealSnackBar(Integer.parseInt(args[0]));
			String t=&quot;&quot;;
			if(sb!=null) {
				for(Snack s:zoo.findAllSnackByWorker(sb)){
					t+=&quot;\n&quot;+s+&quot;\n&quot;;
				}
				MyFileLogWriter.println(&quot;successfully to find snacks  &quot;+t);}
			else
				MyFileLogWriter.println(&quot;failed to find snacks  &quot;);
		});
		commands.put(&quot;reptilesSleepAtSeasson&quot;, (section, args) -> {
			MyFileLogWriter.println(&quot;Query 4: [reptilesSleepAtSeasson]&quot;);
			String s=&quot;&quot;;
			if(zoo.getReptiles()!=null) {
				for(Reptile r : zoo.reptilesSleepAtSeasson()) {
					s+=&quot;\n&quot;+r+&quot;\n&quot;;
				}

				MyFileLogWriter.println(&quot;successfully  to find reptiels&quot; +s);}
			else
				MyFileLogWriter.println(&quot;failed to find repties that sleep an the sesson&quot;);
		});

		commands.put(&quot;geAllDiscountAmount&quot;, (section, args) -> {
			MyFileLogWriter.println(&quot;Query 5: [geAllDiscountAmount]&quot;);
			String s=&quot;&quot;;
			if(zoo.getVisitors()!=null)
			{
				for(Visitor v:zoo.geAllDiscountAmount().keySet() )
				{
					s+=v.toString()+&quot; &quot;+zoo.geAllDiscountAmount().get(v)+&quot;\n&quot;;
				}
				MyFileLogWriter.println(&quot;there is the list of visitors and their amoubt &quot;
						+ &quot;needed to pay  &quot;+s);
			}
			else
				MyFileLogWriter.println(&quot;canot find anu discounts  &quot;+args[0]);
		});
		commands.put(&quot;getMaxVisitorsVSMaxWorkers&quot;, (section, args) -> {
			MyFileLogWriter.println(&quot;Query 6: [getMaxVisitorsVSMaxWorkers]&quot;);

			if(zoo.getVisitors()!=null &amp;&amp; zoo.getEmployees()!=null)
			{
				MyFileLogWriter.println(&quot;The Max Section is  &quot;+zoo.getMaxVisitorsVSMaxWorkers());
			}
			else
				MyFileLogWriter.println(&quot;their is no section to check  &quot;+args[0]);
		});
		

	</body>
      </ownedBehavior>
      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_Da9u4fASEeq7X-Xlofz4yw" name="main" specification="_DQouMPASEeq7X-Xlofz4yw">
        <ownedParameter xmi:id="_Da9u4vASEeq7X-Xlofz4yw" name="args">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Da9u4_ASEeq7X-Xlofz4yw" value="*"/>
        </ownedParameter>
        <language>java</language>
        <body>MyFileLogWriter.initializeMyFileWriter();

		try{
			List&lt;String[]> input = CSVExporter.importCSV(&quot;input.csv&quot;);

			for (int i = 1; i &lt; input.size(); i++) {

				//get row
				String[] values = input.get(i);

				if(values.length == 0)
					continue;
				//get command
				String command = values[0];

				//get params
				String[] params = Arrays.copyOfRange(values,1,values.length);

				//send to func
				try {
					func(command, params);
				}catch (Exception e){
					e.printStackTrace();
				}
			}
		}finally {
			// Shared s = Shared.getInstance();
			System.out.println(&quot;All commands executed. Please check \&quot;&quot; + OUTPUT_FILE + &quot;\&quot;.&quot;);
		}

	</body>
      </ownedBehavior>
      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_Da9u5PASEeq7X-Xlofz4yw" name="func" specification="_DQp8UPASEeq7X-Xlofz4yw">
        <ownedParameter xmi:id="_Da9u5fASEeq7X-Xlofz4yw" name="command">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="_Da9u5vASEeq7X-Xlofz4yw" name="args">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Da9u5_ASEeq7X-Xlofz4yw" value="*"/>
        </ownedParameter>
        <language>java</language>
        <body>//extract command
		Command c = commands.get(command);

		//check that command exists
		if (c != null){
			//get relevant section
			Section section = sections.get(command);

			//execute
			c.execute(section,args);
		}
	</body>
      </ownedBehavior>
      <ownedOperation xmi:id="_DQngEPASEeq7X-Xlofz4yw" name="_initializer1" isStatic="true" method="_Da9u4PASEeq7X-Xlofz4yw">
        <eAnnotations xmi:id="_DQngEfASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
          <details xmi:id="_DQngEvASEeq7X-Xlofz4yw" key="init"/>
        </eAnnotations>
      </ownedOperation>
      <ownedOperation xmi:id="_DQouMPASEeq7X-Xlofz4yw" name="main" isStatic="true" method="_Da9u4fASEeq7X-Xlofz4yw" raisedException="_DXXBQPASEeq7X-Xlofz4yw">
        <ownedParameter xmi:id="_DQouMfASEeq7X-Xlofz4yw" name="args">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DQouMvASEeq7X-Xlofz4yw" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="_DQp8UPASEeq7X-Xlofz4yw" name="func" visibility="private" isStatic="true" method="_Da9u5PASEeq7X-Xlofz4yw">
        <ownedParameter xmi:id="_DQp8UfASEeq7X-Xlofz4yw" name="command">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="_DQp8UvASEeq7X-Xlofz4yw" name="args">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DQqjYPASEeq7X-Xlofz4yw" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <nestedClassifier xmi:type="uml:Interface" xmi:id="_DQrKcPASEeq7X-Xlofz4yw" name="Command" visibility="private">
        <ownedOperation xmi:id="_DXdu8PASEeq7X-Xlofz4yw" name="execute">
          <ownedParameter xmi:id="_DXdu8fASEeq7X-Xlofz4yw" name="section" type="_DSrVkPASEeq7X-Xlofz4yw"/>
          <ownedParameter xmi:id="_DXeWAPASEeq7X-Xlofz4yw" name="args">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DXeWAfASEeq7X-Xlofz4yw" value="*"/>
          </ownedParameter>
        </ownedOperation>
      </nestedClassifier>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="_Db1RkPASEeq7X-Xlofz4yw" name="" memberEnd="_Db1RkfASEeq7X-Xlofz4yw _DaEXBPASEeq7X-Xlofz4yw">
      <ownedEnd xmi:id="_Db1RkfASEeq7X-Xlofz4yw" name="" type="_DQlq4PASEeq7X-Xlofz4yw" association="_Db1RkPASEeq7X-Xlofz4yw"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="_Db14ofASEeq7X-Xlofz4yw" name="" memberEnd="_Db14ovASEeq7X-Xlofz4yw _DaE-EfASEeq7X-Xlofz4yw">
      <ownedEnd xmi:id="_Db14ovASEeq7X-Xlofz4yw" name="" type="_DQlq4PASEeq7X-Xlofz4yw" association="_Db14ofASEeq7X-Xlofz4yw"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="_Db14pPASEeq7X-Xlofz4yw" name="" memberEnd="_Db14pfASEeq7X-Xlofz4yw _DaE-FPASEeq7X-Xlofz4yw">
      <ownedEnd xmi:id="_Db14pfASEeq7X-Xlofz4yw" name="" type="_DQlq4PASEeq7X-Xlofz4yw" association="_Db14pPASEeq7X-Xlofz4yw"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="_Db2fsfASEeq7X-Xlofz4yw" name="" memberEnd="_Db2fsvASEeq7X-Xlofz4yw _DaFlIfASEeq7X-Xlofz4yw">
      <ownedEnd xmi:id="_Db2fsvASEeq7X-Xlofz4yw" name="" type="_DQlq4PASEeq7X-Xlofz4yw" association="_Db2fsfASEeq7X-Xlofz4yw"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="_Db3GwfASEeq7X-Xlofz4yw" name="" memberEnd="_Db3GwvASEeq7X-Xlofz4yw _DaGMMfASEeq7X-Xlofz4yw">
      <ownedEnd xmi:id="_Db3GwvASEeq7X-Xlofz4yw" name="" type="_DQlq4PASEeq7X-Xlofz4yw" association="_Db3GwfASEeq7X-Xlofz4yw"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="_Db3GxPASEeq7X-Xlofz4yw" name="" memberEnd="_Db3GxfASEeq7X-Xlofz4yw _DaGMNfASEeq7X-Xlofz4yw">
      <ownedEnd xmi:id="_Db3GxfASEeq7X-Xlofz4yw" name="" type="_DQlq4PASEeq7X-Xlofz4yw" association="_Db3GxPASEeq7X-Xlofz4yw"/>
    </packagedElement>
    <profileApplication xmi:id="_CusewPASEeq7X-Xlofz4yw">
      <eAnnotations xmi:id="_Cuu7APASEeq7X-Xlofz4yw" source="http://www.eclipse.org/uml2/2.0.0/UML">
        <references xmi:type="ecore:EPackage" href="pathmap://UMLLAB_PROFILES/UMLLab.profile.uml#UMLLabProfile-Annotation_2-UMLLabProfile"/>
      </eAnnotations>
      <appliedProfile href="pathmap://UMLLAB_PROFILES/UMLLab.profile.uml#UMLLabProfile"/>
    </profileApplication>
  </uml:Model>
  <UMLLabProfile:TargetLanguage xmi:id="_CuxXQPASEeq7X-Xlofz4yw" base_Package="_CmBD4PASEeq7X-Xlofz4yw">
    <languageName>java</languageName>
  </UMLLabProfile:TargetLanguage>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DQoHIPASEeq7X-Xlofz4yw" base_Element="_DQngEPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DQrKcfASEeq7X-Xlofz4yw" base_Element="_DQrKcPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Annotations xmi:id="_DQs_oPASEeq7X-Xlofz4yw" base_Element="_DQrKcPASEeq7X-Xlofz4yw">
    <annotations xmi:id="_DQs_ofASEeq7X-Xlofz4yw" name="FunctionalInterface"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DQ3-wfASEeq7X-Xlofz4yw" base_Element="_DQ3XsPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Annotations xmi:id="_DQ3-wvASEeq7X-Xlofz4yw" base_Element="_DQ3XsPASEeq7X-Xlofz4yw">
    <annotations xmi:id="_DQ4l0PASEeq7X-Xlofz4yw" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DRBIsvASEeq7X-Xlofz4yw" base_Element="_DRBIsPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Annotations xmi:id="_DRBvwPASEeq7X-Xlofz4yw" base_Element="_DRBIsPASEeq7X-Xlofz4yw">
    <annotations xmi:id="_DRBvwfASEeq7X-Xlofz4yw" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DRGBMfASEeq7X-Xlofz4yw" base_Element="_DRFaIPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Annotations xmi:id="_DRGoQPASEeq7X-Xlofz4yw" base_Element="_DRFaIPASEeq7X-Xlofz4yw">
    <annotations xmi:id="_DRGoQfASEeq7X-Xlofz4yw" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DRJrkfASEeq7X-Xlofz4yw" base_Element="_DRJEgPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Annotations xmi:id="_DRJrkvASEeq7X-Xlofz4yw" base_Element="_DRJEgPASEeq7X-Xlofz4yw">
    <annotations xmi:id="_DRKSoPASEeq7X-Xlofz4yw" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DRN9APASEeq7X-Xlofz4yw" base_Element="_DRNV8_ASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Annotations xmi:id="_DRN9AfASEeq7X-Xlofz4yw" base_Element="_DRNV8_ASEeq7X-Xlofz4yw">
    <annotations xmi:id="_DRN9AvASEeq7X-Xlofz4yw" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DRYVEPASEeq7X-Xlofz4yw" base_Element="_DRXuAvASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Annotations xmi:id="_DRYVEfASEeq7X-Xlofz4yw" base_Element="_DRXuAvASEeq7X-Xlofz4yw">
    <annotations xmi:id="_DRYVEvASEeq7X-Xlofz4yw" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DRd0ofASEeq7X-Xlofz4yw" base_Element="_DRdNkvASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Annotations xmi:id="_DRd0ovASEeq7X-Xlofz4yw" base_Element="_DRdNkvASEeq7X-Xlofz4yw">
    <annotations xmi:id="_DRd0o_ASEeq7X-Xlofz4yw" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DRitIfASEeq7X-Xlofz4yw" base_Element="_DRiGFPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Annotations xmi:id="_DRitIvASEeq7X-Xlofz4yw" base_Element="_DRiGFPASEeq7X-Xlofz4yw">
    <annotations xmi:id="_DRitI_ASEeq7X-Xlofz4yw" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DRnloPASEeq7X-Xlofz4yw" base_Element="_DRm-kfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Annotations xmi:id="_DRnlofASEeq7X-Xlofz4yw" base_Element="_DRm-kfASEeq7X-Xlofz4yw">
    <annotations xmi:id="_DRnlovASEeq7X-Xlofz4yw" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DRwvkfASEeq7X-Xlofz4yw" base_Element="_DRvhdfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Annotations xmi:id="_DRwvkvASEeq7X-Xlofz4yw" base_Element="_DRvhdfASEeq7X-Xlofz4yw">
    <annotations xmi:id="_DRwvk_ASEeq7X-Xlofz4yw" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DRykwPASEeq7X-Xlofz4yw" base_Element="_DRx9sPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DR22MPASEeq7X-Xlofz4yw" base_Element="_DR2PIPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DR4EUPASEeq7X-Xlofz4yw" genericsValue="String[]" base_Element="_DR3dQPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:StyledElement xmi:id="_DR4EUfASEeq7X-Xlofz4yw" base_Element="_DR3dQPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:StyledElement xmi:id="_DR5Sc_ASEeq7X-Xlofz4yw" base_Element="_DR5ScPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Annotations xmi:id="_DR5SdPASEeq7X-Xlofz4yw" base_Element="_DR4rYPASEeq7X-Xlofz4yw">
    <annotations xmi:id="_DR5SdfASEeq7X-Xlofz4yw" name="FunctionalInterface"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DR_ZEfASEeq7X-Xlofz4yw" base_Element="_DR_ZEPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DSAnMPASEeq7X-Xlofz4yw" base_Element="_DSAAI_ASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DSDqgfASEeq7X-Xlofz4yw" base_Element="_DSDqgPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DSH78PASEeq7X-Xlofz4yw" genericsValue="Visitor, HashSet&lt;Animal>" base_Element="_DSHU4_ASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DSPQsPASEeq7X-Xlofz4yw" genericsValue="Reptile" base_Element="_DSOpoPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DSQe0PASEeq7X-Xlofz4yw" genericsValue="Visitor, Double" base_Element="_DSP3wPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DShkkvASEeq7X-Xlofz4yw" base_Element="_DShkkPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Annotations xmi:id="_DSiLoPASEeq7X-Xlofz4yw" base_Element="_DShkkPASEeq7X-Xlofz4yw">
    <annotations xmi:id="_DSiLofASEeq7X-Xlofz4yw" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Generics xmi:id="_DSnEIPASEeq7X-Xlofz4yw" genericsValue="String,Section" base_Element="_DSmdFPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DSpgYPASEeq7X-Xlofz4yw" genericsValue="String,Section" base_Element="_DSo5U_ASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Array xmi:id="_DSuY5PASEeq7X-Xlofz4yw" base_Element="_DSuY4fASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DXXoUPASEeq7X-Xlofz4yw" base_Element="_DXXBQPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DXY2cPASEeq7X-Xlofz4yw" base_Element="_DXXoUfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DXZdgPASEeq7X-Xlofz4yw" base_Element="_DXY2cfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DXaEkPASEeq7X-Xlofz4yw" base_Element="_DXZdgfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DXaroPASEeq7X-Xlofz4yw" base_Element="_DXaEkfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DXbSsPASEeq7X-Xlofz4yw" base_Element="_DXarofASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DXb5wPASEeq7X-Xlofz4yw" base_Element="_DXbSsfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DXcg0PASEeq7X-Xlofz4yw" base_Element="_DXb5wfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Array xmi:id="_DXeWAvASEeq7X-Xlofz4yw" base_Element="_DXeWAPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DXhZUPASEeq7X-Xlofz4yw" base_Element="_DXgLMPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DXj1kPASEeq7X-Xlofz4yw" base_Element="_DXiAYPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DXmR0fASEeq7X-Xlofz4yw" base_Element="_DXlqwPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Annotations xmi:id="_DXm44PASEeq7X-Xlofz4yw" base_Element="_DXlqwPASEeq7X-Xlofz4yw">
    <annotations xmi:id="_DXm44fASEeq7X-Xlofz4yw" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Reference xmi:id="_DXrxYPASEeq7X-Xlofz4yw" base_Element="_DXrKUPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DXsYcfASEeq7X-Xlofz4yw" base_Element="_DXsYcPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DX0UQPASEeq7X-Xlofz4yw" base_Element="_DXztMPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Annotations xmi:id="_DX07UPASEeq7X-Xlofz4yw" base_Element="_DXztMPASEeq7X-Xlofz4yw">
    <annotations xmi:id="_DX07UfASEeq7X-Xlofz4yw" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DX2JcPASEeq7X-Xlofz4yw" base_Element="_DX1iYPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Annotations xmi:id="_DX3XkPASEeq7X-Xlofz4yw" base_Element="_DX1iYPASEeq7X-Xlofz4yw">
    <annotations xmi:id="_DX3XkfASEeq7X-Xlofz4yw" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DX_TYfASEeq7X-Xlofz4yw" base_Element="_DX-sUPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Annotations xmi:id="_DX_6cPASEeq7X-Xlofz4yw" base_Element="_DX-sUPASEeq7X-Xlofz4yw">
    <annotations xmi:id="_DX_6cfASEeq7X-Xlofz4yw" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DYCWsPASEeq7X-Xlofz4yw" base_Element="_DYAhgPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Annotations xmi:id="_DYCWsfASEeq7X-Xlofz4yw" base_Element="_DYAhgPASEeq7X-Xlofz4yw">
    <annotations xmi:id="_DYCWsvASEeq7X-Xlofz4yw" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DYHPMPASEeq7X-Xlofz4yw" base_Element="_DYGBEPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Annotations xmi:id="_DYHPMfASEeq7X-Xlofz4yw" base_Element="_DYGBEPASEeq7X-Xlofz4yw">
    <annotations xmi:id="_DYHPMvASEeq7X-Xlofz4yw" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Reference xmi:id="_DYN84PASEeq7X-Xlofz4yw" base_Element="_DYNV0PASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DYSOUPASEeq7X-Xlofz4yw" base_Element="_DYRnQPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DYXt4PASEeq7X-Xlofz4yw" base_Element="_DYXG0PASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DYebkPASEeq7X-Xlofz4yw" base_Element="_DYd0gPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DYfCoPASEeq7X-Xlofz4yw" base_Element="_DYebkfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:StyledElement xmi:id="_DYfpsPASEeq7X-Xlofz4yw" base_Element="_DYfCofASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:StyledElement xmi:id="_DYgQwfASEeq7X-Xlofz4yw" base_Element="_DYfpsfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:StyledElement xmi:id="_DYg30PASEeq7X-Xlofz4yw" base_Element="_DYgQwvASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DYitAPASEeq7X-Xlofz4yw" base_Element="_DYiF8PASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DYjUEPASEeq7X-Xlofz4yw" base_Element="_DYitAfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DYlJQPASEeq7X-Xlofz4yw" base_Element="_DYkiMPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DYlJQvASEeq7X-Xlofz4yw" base_Element="_DYlJQfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DYlwUPASEeq7X-Xlofz4yw" base_Element="_DYlJQ_ASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DYm-cPASEeq7X-Xlofz4yw" base_Element="_DYlwUfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DYnlgPASEeq7X-Xlofz4yw" base_Element="_DYm-cfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DYnlgvASEeq7X-Xlofz4yw" base_Element="_DYnlgfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DYoMkfASEeq7X-Xlofz4yw" base_Element="_DYoMkPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DYoMk_ASEeq7X-Xlofz4yw" base_Element="_DYoMkvASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DYx9kvASEeq7X-Xlofz4yw" genericsValue="Animal" base_Element="_DYx9kPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DYzLsPASEeq7X-Xlofz4yw" genericsValue="Animal" base_Element="_DYykoPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DYzywPASEeq7X-Xlofz4yw" genericsValue="Snack" base_Element="_DYzLsfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DZNbYPASEeq7X-Xlofz4yw" base_Element="_DZM0UPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DZRFwPASEeq7X-Xlofz4yw" base_Element="_DZQesPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DZRFwvASEeq7X-Xlofz4yw" genericsValue="Animal" base_Element="_DZRFwfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DZS68fASEeq7X-Xlofz4yw" base_Element="_DZS68PASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DZTiAvASEeq7X-Xlofz4yw" base_Element="_DZS68vASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Annotations xmi:id="_DZTiA_ASEeq7X-Xlofz4yw" base_Element="_DZS68vASEeq7X-Xlofz4yw">
    <annotations xmi:id="_DZUJEPASEeq7X-Xlofz4yw" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Generics xmi:id="_DZZBkPASEeq7X-Xlofz4yw" genericsValue="Person" base_Element="_DZYagPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DZa2wfASEeq7X-Xlofz4yw" base_Element="_DZaPsvASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Annotations xmi:id="_DZa2wvASEeq7X-Xlofz4yw" base_Element="_DZaPsvASEeq7X-Xlofz4yw">
    <annotations xmi:id="_DZa2w_ASEeq7X-Xlofz4yw" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DZehI_ASEeq7X-Xlofz4yw" base_Element="_DZehIPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Annotations xmi:id="_DZehJPASEeq7X-Xlofz4yw" base_Element="_DZehIPASEeq7X-Xlofz4yw">
    <annotations xmi:id="_DZfIMPASEeq7X-Xlofz4yw" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DZg9YPASEeq7X-Xlofz4yw" base_Element="_DZgWUPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Annotations xmi:id="_DZg9YfASEeq7X-Xlofz4yw" base_Element="_DZgWUPASEeq7X-Xlofz4yw">
    <annotations xmi:id="_DZg9YvASEeq7X-Xlofz4yw" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Generics xmi:id="_DZmc8PASEeq7X-Xlofz4yw" genericsValue="String[]" base_Element="_DZl14vASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DZnEAPASEeq7X-Xlofz4yw" genericsValue="String[]" base_Element="_DZmc8_ASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:StyledElement xmi:id="_DZoSJPASEeq7X-Xlofz4yw" base_Element="_DZoSIPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DZo5MPASEeq7X-Xlofz4yw" genericsValue="String[]" base_Element="_DZoSIvASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DZtKoPASEeq7X-Xlofz4yw" genericsValue="Integer, Visitor" base_Element="_DZsjkfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DZuYwPASEeq7X-Xlofz4yw" genericsValue="Integer, Mammal" base_Element="_DZtxsfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DZu_0PASEeq7X-Xlofz4yw" genericsValue="Integer, Reptile" base_Element="_DZuYwvASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DZvm4PASEeq7X-Xlofz4yw" genericsValue="Integer, Bird" base_Element="_DZu_0vASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DZwN8PASEeq7X-Xlofz4yw" genericsValue="Integer, Snack" base_Element="_DZvm4vASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DZw1AvASEeq7X-Xlofz4yw" genericsValue="Visitor, HashSet&lt;Animal>" base_Element="_DZw1AfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DZ1tg_ASEeq7X-Xlofz4yw" base_Element="_DZ1tgPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Annotations xmi:id="_DZ2UkPASEeq7X-Xlofz4yw" base_Element="_DZ1tgPASEeq7X-Xlofz4yw">
    <annotations xmi:id="_DZ2UkfASEeq7X-Xlofz4yw" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Reference xmi:id="_DZ4JwfASEeq7X-Xlofz4yw" base_Element="_DZ4JwPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DZ5-8PASEeq7X-Xlofz4yw" base_Element="_DZ5X4PASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DaE-EPASEeq7X-Xlofz4yw" base_Element="_DaEXBPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DaE-E_ASEeq7X-Xlofz4yw" base_Element="_DaE-EfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DaFlIPASEeq7X-Xlofz4yw" base_Element="_DaE-FPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DaFlI_ASEeq7X-Xlofz4yw" base_Element="_DaFlIfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DaGMM_ASEeq7X-Xlofz4yw" base_Element="_DaGMMfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DaGzQfASEeq7X-Xlofz4yw" base_Element="_DaGMNfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DaKdoPASEeq7X-Xlofz4yw" base_Element="_DaJ2kPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DaM54vASEeq7X-Xlofz4yw" base_Element="_DaM54PASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DaP9MPASEeq7X-Xlofz4yw" base_Element="_DaPWIPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DaP9MvASEeq7X-Xlofz4yw" base_Element="_DaP9MfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DaRLUPASEeq7X-Xlofz4yw" base_Element="_DaQkQPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DaRyYvASEeq7X-Xlofz4yw" base_Element="_DaRyYfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DaTAgvASEeq7X-Xlofz4yw" base_Element="_DaTAgPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DaUOoPASEeq7X-Xlofz4yw" genericsValue="Snack" base_Element="_DaTnkfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DaU1sPASEeq7X-Xlofz4yw" base_Element="_DaUOovASEeq7X-Xlofz4yw">
    <associatedElement xmi:type="uml:Operation" xmi:id="_DaU1sfASEeq7X-Xlofz4yw" name="getZooPercentage" isStatic="true" method="_DbGRwPASEeq7X-Xlofz4yw">
      <ownedParameter xmi:id="_DaVcwPASEeq7X-Xlofz4yw" direction="return">
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
      </ownedParameter>
    </associatedElement>
    <associatedElement xmi:type="uml:Operation" xmi:id="_DaU1svASEeq7X-Xlofz4yw" name="setZooPercentage" isStatic="true" method="_DbGRwvASEeq7X-Xlofz4yw">
      <ownedParameter xmi:id="_DaU1s_ASEeq7X-Xlofz4yw" name="zooPercentage">
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
      </ownedParameter>
    </associatedElement>
  </UMLLabProfile:LegacyStyledElement>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DaWD0vASEeq7X-Xlofz4yw" base_Element="_DaWD0PASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DaX5AfASEeq7X-Xlofz4yw" base_Element="_DaX5APASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DaYgEfASEeq7X-Xlofz4yw" base_Element="_DaX5AvASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Array xmi:id="_DaZHI_ASEeq7X-Xlofz4yw" base_Element="_DaZHIfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DaZuMfASEeq7X-Xlofz4yw" base_Element="_DaZuMPASEeq7X-Xlofz4yw">
    <associatedElement xmi:type="uml:Operation" xmi:id="_DaaVQPASEeq7X-Xlofz4yw" name="getData" method="_DbJVEvASEeq7X-Xlofz4yw">
      <ownedParameter xmi:id="_Daa8UPASEeq7X-Xlofz4yw" type="_DYebkfASEeq7X-Xlofz4yw" direction="return"/>
    </associatedElement>
  </UMLLabProfile:LegacyStyledElement>
  <UMLLabProfile:Generics xmi:id="_DaZuMvASEeq7X-Xlofz4yw" genericsValue="String[]" base_Element="_DaZuMPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DaaVQfASEeq7X-Xlofz4yw" genericsValue="String[]" base_Element="_DaaVQPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DadYkPASEeq7X-Xlofz4yw" base_Element="_DacxgPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_Dad_oPASEeq7X-Xlofz4yw" base_Element="_DadYkfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_Dad_ovASEeq7X-Xlofz4yw" base_Element="_Dad_ofASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DaemsvASEeq7X-Xlofz4yw" base_Element="_DaemsPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DafNwfASEeq7X-Xlofz4yw" genericsValue="Integer,ZooEmployee" base_Element="_DafNwPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_Daf00fASEeq7X-Xlofz4yw" genericsValue="Integer, Visitor" base_Element="_Daf00PASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_Dagb4fASEeq7X-Xlofz4yw" genericsValue="Integer, Mammal" base_Element="_Dagb4PASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DahC8PASEeq7X-Xlofz4yw" genericsValue="Integer, Reptile" base_Element="_Dagb4vASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DahqAPASEeq7X-Xlofz4yw" genericsValue="Integer, Bird" base_Element="_DahC8fASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DaiREPASEeq7X-Xlofz4yw" genericsValue="Integer, Section" base_Element="_DahqAfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DaiREvASEeq7X-Xlofz4yw" base_Element="_DaiREfASEeq7X-Xlofz4yw">
    <associatedElement xmi:type="uml:Operation" xmi:id="_Dai4IfASEeq7X-Xlofz4yw" name="getSnacks" method="_DbLxVPASEeq7X-Xlofz4yw">
      <ownedParameter xmi:id="_DajfMfASEeq7X-Xlofz4yw" type="_DYlwUfASEeq7X-Xlofz4yw" direction="return"/>
    </associatedElement>
  </UMLLabProfile:LegacyStyledElement>
  <UMLLabProfile:Generics xmi:id="_Dai4IPASEeq7X-Xlofz4yw" genericsValue="Integer,Snack" base_Element="_DaiREfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DajfMPASEeq7X-Xlofz4yw" genericsValue="Integer, Snack" base_Element="_Dai4IfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DakGQPASEeq7X-Xlofz4yw" genericsValue="Integer, SnackBar" base_Element="_DajfMvASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DaktUPASEeq7X-Xlofz4yw" genericsValue="ZooEmployee, HashSet&lt;Animal>" base_Element="_DakGQfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DaktUvASEeq7X-Xlofz4yw" genericsValue="Visitor, HashSet&lt;Animal>" base_Element="_DaktUfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DalUYPASEeq7X-Xlofz4yw" base_Element="_DaktUfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DanJkvASEeq7X-Xlofz4yw" base_Element="_DanJkPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DaoXsPASEeq7X-Xlofz4yw" base_Element="_Danwo_ASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_Dao-wPASEeq7X-Xlofz4yw" genericsValue="ZooEmployee" base_Element="_DaoXsvASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_Dapl0PASEeq7X-Xlofz4yw" genericsValue="Visitor" base_Element="_Dao-wfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_Dapl0vASEeq7X-Xlofz4yw" genericsValue="Mammal" base_Element="_Dapl0fASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_DaqM4fASEeq7X-Xlofz4yw" genericsValue="Reptile" base_Element="_DaqM4PASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Generics xmi:id="_Daqz8PASEeq7X-Xlofz4yw" genericsValue="Bird" base_Element="_DaqM4vASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DasCEPASEeq7X-Xlofz4yw" base_Element="_DarbAPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DasCE_ASEeq7X-Xlofz4yw" base_Element="_DasCEfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DaspIvASEeq7X-Xlofz4yw" base_Element="_DaspIPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_Dat3QfASEeq7X-Xlofz4yw" base_Element="_Dat3QPASEeq7X-Xlofz4yw">
    <associatedElement xmi:type="uml:Operation" xmi:id="_Dat3QvASEeq7X-Xlofz4yw" name="getName" method="_DbViUPASEeq7X-Xlofz4yw">
      <ownedParameter xmi:id="_Dat3Q_ASEeq7X-Xlofz4yw" direction="return">
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
      </ownedParameter>
    </associatedElement>
  </UMLLabProfile:LegacyStyledElement>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DavFYPASEeq7X-Xlofz4yw" base_Element="_DaueUvASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_DavFY_ASEeq7X-Xlofz4yw" base_Element="_DavFYfASEeq7X-Xlofz4yw"/>
  <uml:OpaqueBehavior xmi:id="_DbGRwPASEeq7X-Xlofz4yw" name="getZooPercentage" specification="_DaU1sfASEeq7X-Xlofz4yw">
    <ownedParameter xmi:id="_DbGRwfASEeq7X-Xlofz4yw" direction="return">
      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
    </ownedParameter>
    <language>java</language>
    <body>return zooPercentage;&#xD;
	</body>
  </uml:OpaqueBehavior>
  <uml:OpaqueBehavior xmi:id="_DbGRwvASEeq7X-Xlofz4yw" name="setZooPercentage" specification="_DaU1svASEeq7X-Xlofz4yw">
    <ownedParameter xmi:id="_DbGRw_ASEeq7X-Xlofz4yw" name="zooPercentage">
      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
    </ownedParameter>
    <language>java</language>
    <body>SnackBar.zooPercentage = zooPercentage;&#xD;
	</body>
  </uml:OpaqueBehavior>
  <uml:OpaqueBehavior xmi:id="_DbIG9fASEeq7X-Xlofz4yw" name="TicketType" specification="_DRseIPASEeq7X-Xlofz4yw">
    <ownedParameter xmi:id="_DbIG9vASEeq7X-Xlofz4yw" name="value">
      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
    </ownedParameter>
    <ownedParameter xmi:id="_DbIG9_ASEeq7X-Xlofz4yw" type="_DRqB4PASEeq7X-Xlofz4yw" direction="return"/>
    <language>java</language>
    <body>this.value = value;&#xD;
	</body>
  </uml:OpaqueBehavior>
  <uml:OpaqueBehavior xmi:id="_DbIuAPASEeq7X-Xlofz4yw" name="getValue" specification="_DRtFMvASEeq7X-Xlofz4yw">
    <ownedParameter xmi:id="_DbIuAfASEeq7X-Xlofz4yw" direction="return">
      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
    </ownedParameter>
    <language>java</language>
    <body>return value;&#xD;
	</body>
  </uml:OpaqueBehavior>
  <uml:OpaqueBehavior xmi:id="_DbJVEvASEeq7X-Xlofz4yw" name="getData" specification="_DaaVQPASEeq7X-Xlofz4yw">
    <ownedParameter xmi:id="_DbJVE_ASEeq7X-Xlofz4yw" type="_DYebkfASEeq7X-Xlofz4yw" direction="return"/>
    <language>java</language>
    <body>return Collections.unmodifiableList(data);
 </body>
  </uml:OpaqueBehavior>
  <uml:OpaqueBehavior xmi:id="_DbLKQPASEeq7X-Xlofz4yw" name="Discount" specification="_DR9j4PASEeq7X-Xlofz4yw">
    <ownedParameter xmi:id="_DbLKQfASEeq7X-Xlofz4yw" name="percentage">
      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
    </ownedParameter>
    <ownedParameter xmi:id="_DbLKQvASEeq7X-Xlofz4yw" type="_DR7usPASEeq7X-Xlofz4yw" direction="return"/>
    <language>java</language>
    <body>this.percentage = percentage;&#xD;
	</body>
  </uml:OpaqueBehavior>
  <uml:OpaqueBehavior xmi:id="_DbLKQ_ASEeq7X-Xlofz4yw" name="getPercentage" specification="_DR-K8PASEeq7X-Xlofz4yw">
    <ownedParameter xmi:id="_DbLKRPASEeq7X-Xlofz4yw" direction="return">
      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
    </ownedParameter>
    <language>java</language>
    <body>return percentage;&#xD;
	</body>
  </uml:OpaqueBehavior>
  <uml:OpaqueBehavior xmi:id="_DbLxVPASEeq7X-Xlofz4yw" name="getSnacks" specification="_Dai4IfASEeq7X-Xlofz4yw">
    <ownedParameter xmi:id="_DbLxVfASEeq7X-Xlofz4yw" type="_DYlwUfASEeq7X-Xlofz4yw" direction="return"/>
    <language>java</language>
    <body>return snacks;&#xD;
	</body>
  </uml:OpaqueBehavior>
  <uml:OpaqueBehavior xmi:id="_DbViUPASEeq7X-Xlofz4yw" name="getName" specification="_Dat3QvASEeq7X-Xlofz4yw">
    <ownedParameter xmi:id="_DbViUfASEeq7X-Xlofz4yw" direction="return">
      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
    </ownedParameter>
    <language>java</language>
    <body>return parent == null ? name : parent + &quot;_&quot; + name;&#xD;
 </body>
  </uml:OpaqueBehavior>
  <UMLLabProfile:Reference xmi:id="_Db14oPASEeq7X-Xlofz4yw" base_Element="_Db1RkPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db14o_ASEeq7X-Xlofz4yw" base_Element="_Db14ofASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db2fsPASEeq7X-Xlofz4yw" base_Element="_Db14pPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db3GwPASEeq7X-Xlofz4yw" base_Element="_Db2fsfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db3Gw_ASEeq7X-Xlofz4yw" base_Element="_Db3GwfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db3t0PASEeq7X-Xlofz4yw" base_Element="_Db3GxPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db4U4PASEeq7X-Xlofz4yw" base_Element="_Db3t0fASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db4U4_ASEeq7X-Xlofz4yw" base_Element="_Db4U4fASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db478PASEeq7X-Xlofz4yw" base_Element="_Db4U5PASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db5jAPASEeq7X-Xlofz4yw" base_Element="_Db478fASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db5jA_ASEeq7X-Xlofz4yw" base_Element="_Db5jAfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db6KEPASEeq7X-Xlofz4yw" base_Element="_Db5jBPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db6KE_ASEeq7X-Xlofz4yw" base_Element="_Db6KEfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db6xIvASEeq7X-Xlofz4yw" base_Element="_Db6xIPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db7YMPASEeq7X-Xlofz4yw" base_Element="_Db6xI_ASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db7YM_ASEeq7X-Xlofz4yw" base_Element="_Db7YMfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db7_QPASEeq7X-Xlofz4yw" base_Element="_Db7YNPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db8mUPASEeq7X-Xlofz4yw" base_Element="_Db7_QfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db8mU_ASEeq7X-Xlofz4yw" base_Element="_Db8mUfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db9NYPASEeq7X-Xlofz4yw" base_Element="_Db8mVPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db9NY_ASEeq7X-Xlofz4yw" base_Element="_Db9NYfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db90cvASEeq7X-Xlofz4yw" base_Element="_Db90cPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db-bgPASEeq7X-Xlofz4yw" base_Element="_Db90c_ASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db-bg_ASEeq7X-Xlofz4yw" base_Element="_Db-bgfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db_CkPASEeq7X-Xlofz4yw" base_Element="_Db-bhPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db_Ck_ASEeq7X-Xlofz4yw" base_Element="_Db_CkfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_Db_pofASEeq7X-Xlofz4yw" base_Element="_Db_ClPASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DcAQsPASEeq7X-Xlofz4yw" base_Element="_Db_povASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DcAQs_ASEeq7X-Xlofz4yw" base_Element="_DcAQsfASEeq7X-Xlofz4yw"/>
  <UMLLabProfile:Reference xmi:id="_DcA3wPASEeq7X-Xlofz4yw" base_Element="_DcAQtPASEeq7X-Xlofz4yw"/>
</xmi:XMI>
