<?xml version="1.0"?>
<dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/">
  <dia:diagramdata>
    <dia:attribute name="background">
      <dia:color val="#ffffff"/>
    </dia:attribute>
  </dia:diagramdata>
  <dia:layer name="Background" visible="true">
    <dia:object type="UML - Class" version="0" id="O0">
      <dia:attribute name="obj_pos">
        <dia:point val="7.95,1"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="7.9,0.95;15.5872,6.25"/>
      </dia:attribute>
      <dia:attribute name="elem_corner">
        <dia:point val="7.95,1"/>
      </dia:attribute>
      <dia:attribute name="elem_width">
        <dia:real val="7.5872"/>
      </dia:attribute>
      <dia:attribute name="elem_height">
        <dia:real val="5.2"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string>#Iterator#</dia:string>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="abstract">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="suppress_attributes">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="suppress_operations">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="visible_attributes">
        <dia:boolean val="true"/>
      </dia:attribute>
      <dia:attribute name="visible_operations">
        <dia:boolean val="true"/>
      </dia:attribute>
      <dia:attribute name="attributes"/>
      <dia:attribute name="operations">
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#First#</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="true"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="parameters"/>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#Next#</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="true"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="parameters"/>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#IsDone#</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="true"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="parameters"/>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#CurrentItem#</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="true"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="parameters"/>
        </dia:composite>
      </dia:attribute>
      <dia:attribute name="template">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="templates"/>
    </dia:object>
    <dia:object type="UML - Class" version="0" id="O1">
      <dia:attribute name="obj_pos">
        <dia:point val="5.68,11.88"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="5.63,11.83;14.2363,17.13"/>
      </dia:attribute>
      <dia:attribute name="elem_corner">
        <dia:point val="5.68,11.88"/>
      </dia:attribute>
      <dia:attribute name="elem_width">
        <dia:real val="8.5063"/>
      </dia:attribute>
      <dia:attribute name="elem_height">
        <dia:real val="5.2"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string>#PreorderIterator#</dia:string>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="abstract">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="suppress_attributes">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="suppress_operations">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="visible_attributes">
        <dia:boolean val="true"/>
      </dia:attribute>
      <dia:attribute name="visible_operations">
        <dia:boolean val="true"/>
      </dia:attribute>
      <dia:attribute name="attributes"/>
      <dia:attribute name="operations">
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#First#</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="parameters"/>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#Next#</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="parameters"/>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#IsDone#</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="parameters"/>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#CurrentItem#</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="parameters"/>
        </dia:composite>
      </dia:attribute>
      <dia:attribute name="template">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="templates"/>
    </dia:object>
    <dia:object type="UML - Association" version="0" id="O2">
      <dia:attribute name="obj_pos">
        <dia:point val="5.68,12.58"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="-0.7,0.25;10.2432,14.03"/>
      </dia:attribute>
      <dia:attribute name="orth_points">
        <dia:point val="5.68,12.58"/>
        <dia:point val="0.75,12.58"/>
        <dia:point val="0.75,1.7"/>
        <dia:point val="7.95,1.7"/>
      </dia:attribute>
      <dia:attribute name="orth_orient">
        <dia:enum val="0"/>
        <dia:enum val="1"/>
        <dia:enum val="0"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="direction">
        <dia:enum val="0"/>
      </dia:attribute>
      <dia:attribute name="ends">
        <dia:composite>
          <dia:attribute name="role">
            <dia:string>#Iterators#</dia:string>
          </dia:attribute>
          <dia:attribute name="multiplicity">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="arrow">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="aggregate">
            <dia:enum val="0"/>
          </dia:attribute>
        </dia:composite>
        <dia:composite>
          <dia:attribute name="role">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="multiplicity">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="arrow">
            <dia:boolean val="true"/>
          </dia:attribute>
          <dia:attribute name="aggregate">
            <dia:enum val="0"/>
          </dia:attribute>
        </dia:composite>
      </dia:attribute>
      <dia:connections>
        <dia:connection handle="0" to="O1" connection="3"/>
        <dia:connection handle="1" to="O0" connection="3"/>
      </dia:connections>
    </dia:object>
    <dia:object type="UML - Generalization" version="0" id="O3">
      <dia:attribute name="obj_pos">
        <dia:point val="11.7436,6.2"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="9.08315,5.35;12.5936,12.73"/>
      </dia:attribute>
      <dia:attribute name="orth_points">
        <dia:point val="11.7436,6.2"/>
        <dia:point val="11.7436,9.25"/>
        <dia:point val="9.93315,9.25"/>
        <dia:point val="9.93315,11.88"/>
      </dia:attribute>
      <dia:attribute name="orth_orient">
        <dia:enum val="1"/>
        <dia:enum val="0"/>
        <dia:enum val="1"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <dia:string/>
      </dia:attribute>
      <dia:connections>
        <dia:connection handle="0" to="O0" connection="6"/>
        <dia:connection handle="1" to="O1" connection="1"/>
      </dia:connections>
    </dia:object>
    <dia:object type="UML - Class" version="0" id="O4">
      <dia:attribute name="obj_pos">
        <dia:point val="17.7487,11.9772"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="17.6987,11.9272;25.3859,17.2272"/>
      </dia:attribute>
      <dia:attribute name="elem_corner">
        <dia:point val="17.7487,11.9772"/>
      </dia:attribute>
      <dia:attribute name="elem_width">
        <dia:real val="7.5872"/>
      </dia:attribute>
      <dia:attribute name="elem_height">
        <dia:real val="5.2"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string>#ArrayIterator#</dia:string>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="abstract">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="suppress_attributes">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="suppress_operations">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="visible_attributes">
        <dia:boolean val="true"/>
      </dia:attribute>
      <dia:attribute name="visible_operations">
        <dia:boolean val="true"/>
      </dia:attribute>
      <dia:attribute name="attributes"/>
      <dia:attribute name="operations">
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#First#</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="parameters"/>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#Next#</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="parameters"/>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#IsDone#</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="parameters"/>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#CurrentItem#</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="parameters"/>
        </dia:composite>
      </dia:attribute>
      <dia:attribute name="template">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="templates"/>
    </dia:object>
    <dia:object type="UML - Class" version="0" id="O5">
      <dia:attribute name="obj_pos">
        <dia:point val="13.9319,22.6954"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="13.8819,22.6454;23.0235,25.5454"/>
      </dia:attribute>
      <dia:attribute name="elem_corner">
        <dia:point val="13.9319,22.6954"/>
      </dia:attribute>
      <dia:attribute name="elem_width">
        <dia:real val="9.0416"/>
      </dia:attribute>
      <dia:attribute name="elem_height">
        <dia:real val="2.8"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string>#Glyph#</dia:string>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="abstract">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="suppress_attributes">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="suppress_operations">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="visible_attributes">
        <dia:boolean val="true"/>
      </dia:attribute>
      <dia:attribute name="visible_operations">
        <dia:boolean val="true"/>
      </dia:attribute>
      <dia:attribute name="attributes"/>
      <dia:attribute name="operations">
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#CreateIterator#</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="parameters"/>
        </dia:composite>
      </dia:attribute>
      <dia:attribute name="template">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="templates"/>
    </dia:object>
    <dia:object type="UML - Class" version="0" id="O6">
      <dia:attribute name="obj_pos">
        <dia:point val="34.69,11.985"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="34.64,11.935;42.3272,17.235"/>
      </dia:attribute>
      <dia:attribute name="elem_corner">
        <dia:point val="34.69,11.985"/>
      </dia:attribute>
      <dia:attribute name="elem_width">
        <dia:real val="7.5872"/>
      </dia:attribute>
      <dia:attribute name="elem_height">
        <dia:real val="5.2"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string>#NullIterator#</dia:string>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="abstract">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="suppress_attributes">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="suppress_operations">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="visible_attributes">
        <dia:boolean val="true"/>
      </dia:attribute>
      <dia:attribute name="visible_operations">
        <dia:boolean val="true"/>
      </dia:attribute>
      <dia:attribute name="attributes"/>
      <dia:attribute name="operations">
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#First#</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="parameters"/>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#Next#</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="parameters"/>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#IsDone#</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="parameters"/>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#CurrentItem#</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="parameters"/>
        </dia:composite>
      </dia:attribute>
      <dia:attribute name="template">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="templates"/>
    </dia:object>
    <dia:object type="UML - Class" version="0" id="O7">
      <dia:attribute name="obj_pos">
        <dia:point val="25.99,11.935"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="25.94,11.885;33.6272,17.185"/>
      </dia:attribute>
      <dia:attribute name="elem_corner">
        <dia:point val="25.99,11.935"/>
      </dia:attribute>
      <dia:attribute name="elem_width">
        <dia:real val="7.5872"/>
      </dia:attribute>
      <dia:attribute name="elem_height">
        <dia:real val="5.2"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string>#ListIterator#</dia:string>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="abstract">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="suppress_attributes">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="suppress_operations">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="visible_attributes">
        <dia:boolean val="true"/>
      </dia:attribute>
      <dia:attribute name="visible_operations">
        <dia:boolean val="true"/>
      </dia:attribute>
      <dia:attribute name="attributes"/>
      <dia:attribute name="operations">
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#First#</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="parameters"/>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#Next#</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="parameters"/>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#IsDone#</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="parameters"/>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#CurrentItem#</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="parameters"/>
        </dia:composite>
      </dia:attribute>
      <dia:attribute name="template">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="templates"/>
    </dia:object>
    <dia:object type="UML - Generalization" version="0" id="O8">
      <dia:attribute name="obj_pos">
        <dia:point val="11.7436,6.2"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="10.8936,5.35;22.3923,12.8272"/>
      </dia:attribute>
      <dia:attribute name="orth_points">
        <dia:point val="11.7436,6.2"/>
        <dia:point val="11.7436,9.25"/>
        <dia:point val="21.5423,9.25"/>
        <dia:point val="21.5423,11.9772"/>
      </dia:attribute>
      <dia:attribute name="orth_orient">
        <dia:enum val="1"/>
        <dia:enum val="0"/>
        <dia:enum val="1"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <dia:string/>
      </dia:attribute>
      <dia:connections>
        <dia:connection handle="0" to="O0" connection="6"/>
        <dia:connection handle="1" to="O4" connection="1"/>
      </dia:connections>
    </dia:object>
    <dia:object type="UML - Generalization" version="0" id="O9">
      <dia:attribute name="obj_pos">
        <dia:point val="11.7436,6.2"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="10.8936,5.35;30.6336,12.785"/>
      </dia:attribute>
      <dia:attribute name="orth_points">
        <dia:point val="11.7436,6.2"/>
        <dia:point val="11.7436,9.25"/>
        <dia:point val="29.7836,9.25"/>
        <dia:point val="29.7836,11.935"/>
      </dia:attribute>
      <dia:attribute name="orth_orient">
        <dia:enum val="1"/>
        <dia:enum val="0"/>
        <dia:enum val="1"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <dia:string/>
      </dia:attribute>
      <dia:connections>
        <dia:connection handle="0" to="O0" connection="6"/>
        <dia:connection handle="1" to="O7" connection="1"/>
      </dia:connections>
    </dia:object>
    <dia:object type="UML - Generalization" version="0" id="O10">
      <dia:attribute name="obj_pos">
        <dia:point val="11.7436,6.2"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="10.8936,5.35;39.3336,12.835"/>
      </dia:attribute>
      <dia:attribute name="orth_points">
        <dia:point val="11.7436,6.2"/>
        <dia:point val="11.7436,9.25"/>
        <dia:point val="38.4836,9.25"/>
        <dia:point val="38.4836,11.985"/>
      </dia:attribute>
      <dia:attribute name="orth_orient">
        <dia:enum val="1"/>
        <dia:enum val="0"/>
        <dia:enum val="1"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <dia:string/>
      </dia:attribute>
      <dia:connections>
        <dia:connection handle="0" to="O0" connection="6"/>
        <dia:connection handle="1" to="O6" connection="1"/>
      </dia:connections>
    </dia:object>
    <dia:object type="UML - Association" version="0" id="O11">
      <dia:attribute name="obj_pos">
        <dia:point val="14.1863,15.78"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="9.15,14.33;17.15,24.8454"/>
      </dia:attribute>
      <dia:attribute name="orth_points">
        <dia:point val="14.1863,15.78"/>
        <dia:point val="15.7,15.78"/>
        <dia:point val="15.7,19.05"/>
        <dia:point val="10.6,19.05"/>
        <dia:point val="10.6,23.3954"/>
        <dia:point val="13.9319,23.3954"/>
      </dia:attribute>
      <dia:attribute name="orth_orient">
        <dia:enum val="0"/>
        <dia:enum val="1"/>
        <dia:enum val="0"/>
        <dia:enum val="1"/>
        <dia:enum val="0"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="direction">
        <dia:enum val="0"/>
      </dia:attribute>
      <dia:attribute name="ends">
        <dia:composite>
          <dia:attribute name="role">
            <dia:string>#root#</dia:string>
          </dia:attribute>
          <dia:attribute name="multiplicity">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="arrow">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="aggregate">
            <dia:enum val="0"/>
          </dia:attribute>
        </dia:composite>
        <dia:composite>
          <dia:attribute name="role">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="multiplicity">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="arrow">
            <dia:boolean val="true"/>
          </dia:attribute>
          <dia:attribute name="aggregate">
            <dia:enum val="0"/>
          </dia:attribute>
        </dia:composite>
      </dia:attribute>
      <dia:connections>
        <dia:connection handle="0" to="O1" connection="13"/>
        <dia:connection handle="1" to="O5" connection="3"/>
      </dia:connections>
    </dia:object>
    <dia:object type="UML - Association" version="0" id="O12">
      <dia:attribute name="obj_pos">
        <dia:point val="17.7487,15.8772"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="10.6,14.4272;19.1987,24.1454"/>
      </dia:attribute>
      <dia:attribute name="orth_points">
        <dia:point val="17.7487,15.8772"/>
        <dia:point val="16.45,15.8772"/>
        <dia:point val="16.45,20"/>
        <dia:point val="12.05,20"/>
        <dia:point val="12.05,22.6954"/>
        <dia:point val="13.9319,22.6954"/>
      </dia:attribute>
      <dia:attribute name="orth_orient">
        <dia:enum val="0"/>
        <dia:enum val="1"/>
        <dia:enum val="0"/>
        <dia:enum val="1"/>
        <dia:enum val="0"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="direction">
        <dia:enum val="0"/>
      </dia:attribute>
      <dia:attribute name="ends">
        <dia:composite>
          <dia:attribute name="role">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="multiplicity">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="arrow">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="aggregate">
            <dia:enum val="0"/>
          </dia:attribute>
        </dia:composite>
        <dia:composite>
          <dia:attribute name="role">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="multiplicity">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="arrow">
            <dia:boolean val="true"/>
          </dia:attribute>
          <dia:attribute name="aggregate">
            <dia:enum val="0"/>
          </dia:attribute>
        </dia:composite>
      </dia:attribute>
      <dia:connections>
        <dia:connection handle="0" to="O4" connection="12"/>
        <dia:connection handle="1" to="O5" connection="0"/>
      </dia:connections>
    </dia:object>
    <dia:object type="UML - Association" version="0" id="O13">
      <dia:attribute name="obj_pos">
        <dia:point val="33.5772,15.835"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="21.5235,14.385;35.85,24.8454"/>
      </dia:attribute>
      <dia:attribute name="orth_points">
        <dia:point val="33.5772,15.835"/>
        <dia:point val="34.4,15.835"/>
        <dia:point val="34.4,23.3954"/>
        <dia:point val="22.9735,23.3954"/>
      </dia:attribute>
      <dia:attribute name="orth_orient">
        <dia:enum val="0"/>
        <dia:enum val="1"/>
        <dia:enum val="0"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="direction">
        <dia:enum val="0"/>
      </dia:attribute>
      <dia:attribute name="ends">
        <dia:composite>
          <dia:attribute name="role">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="multiplicity">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="arrow">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="aggregate">
            <dia:enum val="0"/>
          </dia:attribute>
        </dia:composite>
        <dia:composite>
          <dia:attribute name="role">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="multiplicity">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="arrow">
            <dia:boolean val="true"/>
          </dia:attribute>
          <dia:attribute name="aggregate">
            <dia:enum val="0"/>
          </dia:attribute>
        </dia:composite>
      </dia:attribute>
      <dia:connections>
        <dia:connection handle="0" to="O7" connection="13"/>
        <dia:connection handle="1" to="O5" connection="4"/>
      </dia:connections>
    </dia:object>
    <dia:object type="UML - Note" version="0" id="O14">
      <dia:attribute name="obj_pos">
        <dia:point val="24.15,27.95"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="24.1,27.9;36.9352,29.7"/>
      </dia:attribute>
      <dia:attribute name="elem_corner">
        <dia:point val="24.15,27.95"/>
      </dia:attribute>
      <dia:attribute name="elem_width">
        <dia:real val="12.7352"/>
      </dia:attribute>
      <dia:attribute name="elem_height">
        <dia:real val="1.7"/>
      </dia:attribute>
      <dia:attribute name="text">
        <dia:composite type="text">
          <dia:attribute name="string">
            <dia:string>#returns new NullIterator#</dia:string>
          </dia:attribute>
          <dia:attribute name="font">
            <dia:font name="Courier"/>
          </dia:attribute>
          <dia:attribute name="height">
            <dia:real val="0.8"/>
          </dia:attribute>
          <dia:attribute name="pos">
            <dia:point val="24.5,29.2291"/>
          </dia:attribute>
          <dia:attribute name="color">
            <dia:color val="#000000"/>
          </dia:attribute>
          <dia:attribute name="alignment">
            <dia:enum val="0"/>
          </dia:attribute>
        </dia:composite>
      </dia:attribute>
    </dia:object>
    <dia:object type="UML - Dependency" version="0" id="O15">
      <dia:attribute name="obj_pos">
        <dia:point val="22.9735,24.9954"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="22.1235,24.1454;31.3676,28.8"/>
      </dia:attribute>
      <dia:attribute name="orth_points">
        <dia:point val="22.9735,24.9954"/>
        <dia:point val="30.5176,24.9954"/>
        <dia:point val="30.5176,27.95"/>
      </dia:attribute>
      <dia:attribute name="orth_orient">
        <dia:enum val="0"/>
        <dia:enum val="1"/>
      </dia:attribute>
      <dia:attribute name="draw_arrow">
        <dia:boolean val="true"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <dia:string/>
      </dia:attribute>
      <dia:connections>
        <dia:connection handle="0" to="O5" connection="9"/>
        <dia:connection handle="1" to="O14" connection="1"/>
      </dia:connections>
    </dia:object>
    <dia:object type="UML - Note" version="0" id="O16">
      <dia:attribute name="obj_pos">
        <dia:point val="37.8273,20.25"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="37.7773,20.2;44.7949,22"/>
      </dia:attribute>
      <dia:attribute name="elem_corner">
        <dia:point val="37.8273,20.25"/>
      </dia:attribute>
      <dia:attribute name="elem_width">
        <dia:real val="6.9176"/>
      </dia:attribute>
      <dia:attribute name="elem_height">
        <dia:real val="1.7"/>
      </dia:attribute>
      <dia:attribute name="text">
        <dia:composite type="text">
          <dia:attribute name="string">
            <dia:string>#returns TRUE#</dia:string>
          </dia:attribute>
          <dia:attribute name="font">
            <dia:font name="Courier"/>
          </dia:attribute>
          <dia:attribute name="height">
            <dia:real val="0.8"/>
          </dia:attribute>
          <dia:attribute name="pos">
            <dia:point val="38.1773,21.5291"/>
          </dia:attribute>
          <dia:attribute name="color">
            <dia:color val="#000000"/>
          </dia:attribute>
          <dia:attribute name="alignment">
            <dia:enum val="0"/>
          </dia:attribute>
        </dia:composite>
      </dia:attribute>
    </dia:object>
    <dia:object type="UML - Dependency" version="0" id="O17">
      <dia:attribute name="obj_pos">
        <dia:point val="42.2772,15.885"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="41.4272,15.035;48.2951,21.95"/>
      </dia:attribute>
      <dia:attribute name="orth_points">
        <dia:point val="42.2772,15.885"/>
        <dia:point val="47.4451,15.885"/>
        <dia:point val="47.4451,21.1"/>
        <dia:point val="44.7449,21.1"/>
      </dia:attribute>
      <dia:attribute name="orth_orient">
        <dia:enum val="0"/>
        <dia:enum val="1"/>
        <dia:enum val="0"/>
      </dia:attribute>
      <dia:attribute name="draw_arrow">
        <dia:boolean val="true"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <dia:string/>
      </dia:attribute>
      <dia:connections>
        <dia:connection handle="0" to="O6" connection="13"/>
        <dia:connection handle="1" to="O16" connection="4"/>
      </dia:connections>
    </dia:object>
  </dia:layer>
</dia:diagram>
