<?xml version="1.0" encoding="UTF-8"?> 
<java version="1.6.0_06" class="java.beans.XMLDecoder"> 
 <object class="com.horstmann.violet.ClassDiagramGraph"> 
  <void method="addNode"> 
   <object id="InterfaceNode0" class="com.horstmann.violet.InterfaceNode"> 
    <void property="methods"> 
     <void property="text"> 
      <string>void act() // Called repeatedly
void die()
void pauseOrResume()</string> 
     </void> 
    </void> 
    <void property="name"> 
     <void property="text"> 
      <string>«interface&gt; Animate</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>1299.0</double> 
     <double>288.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode0" class="com.horstmann.violet.ClassNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>«abstract»
Ball</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>1120.0</double> 
     <double>290.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="InterfaceNode1" class="com.horstmann.violet.InterfaceNode"> 
    <void property="methods"> 
     <void property="text"> 
      <string>Shape getShape()
Color getColor()</string> 
     </void> 
    </void> 
    <void property="name"> 
     <void property="text"> 
      <string>«interface»
Drawable</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>890.0</double> 
     <double>270.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="InterfaceNode2" class="com.horstmann.violet.InterfaceNode"> 
    <void property="methods"> 
     <void property="text"> 
      <string>void moveTo(Point2D point)
double distanceFrom(Point2D point)</string> 
     </void> 
    </void> 
    <void property="name"> 
     <void property="text"> 
      <string>«interface»
Relocatable</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>780.0</double> 
     <double>450.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode1" class="com.horstmann.violet.ClassNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>BallWorlds</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>184.0</double> 
     <double>339.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode2" class="com.horstmann.violet.ClassNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>BallWorldsFrame</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>221.0</double> 
     <double>465.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="NoteNode0" class="com.horstmann.violet.NoteNode"> 
    <void property="color"> 
     <object class="java.awt.Color"> 
      <int>255</int> 
      <int>182</int> 
      <int>193</int> 
      <int>255</int> 
     </object> 
    </void> 
    <void property="text"> 
     <void property="text"> 
      <string> 
UML class diagram
for BallWorlds
 
Execution starts here
in main
 </string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>21.0</double> 
     <double>309.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode3" class="com.horstmann.violet.ClassNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>JFrame</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>66.0</double> 
     <double>471.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode4" class="com.horstmann.violet.ClassNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>WorldPanel</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>500.0</double> 
     <double>548.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode5" class="com.horstmann.violet.ClassNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>World</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>381.0</double> 
     <double>344.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="InterfaceNode3" class="com.horstmann.violet.InterfaceNode"> 
    <void property="methods"> 
     <void property="text"> 
      <string>void addBall(Ball ballToAdd)
void removeBall(Ball ballToRemove)
isInsideWorldX(Point2D point)
isInsideWorldY(Point2D point)
Point2D middleOfWorld()</string> 
     </void> 
    </void> 
    <void property="name"> 
     <void property="text"> 
      <string>«interface»
BallEnvironment</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>1133.0</double> 
     <double>51.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode6" class="com.horstmann.violet.ClassNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>ButtonsPanel</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>594.0</double> 
     <double>146.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode7" class="com.horstmann.violet.ClassNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>BallButton</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>978.0</double> 
     <double>150.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode8" class="com.horstmann.violet.ClassNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>DudThatMoves</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>1121.0</double> 
     <double>471.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode9" class="com.horstmann.violet.ClassNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>Dud</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>1117.0</double> 
     <double>383.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode10" class="com.horstmann.violet.ClassNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>JButton</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>1006.0</double> 
     <double>43.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode11" class="com.horstmann.violet.ClassNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>JPanel</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>649.0</double> 
     <double>549.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode12" class="com.horstmann.violet.ClassNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>Mover</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>1120.0</double> 
     <double>570.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode13" class="com.horstmann.violet.ClassNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>Bouncer</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>1120.0</double> 
     <double>660.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode14" class="com.horstmann.violet.ClassNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>Exploder</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>1190.0</double> 
     <double>760.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode15" class="com.horstmann.violet.ClassNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>Shrinker</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>1050.0</double> 
     <double>760.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="NoteNode1" class="com.horstmann.violet.NoteNode"> 
    <void property="text"> 
     <void property="text"> 
      <string>A Ball must add itself to its World, by using
the BallEnvironment that the Ball is given
when the Ball is constructed</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>1251.0</double> 
     <double>211.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object class="com.horstmann.violet.NoteNode"> 
    <void property="color"> 
     <object class="java.awt.Color"> 
      <int>176</int> 
      <int>196</int> 
      <int>222</int> 
      <int>255</int> 
     </object> 
    </void> 
    <void property="text"> 
     <void property="text"> 
      <string>Students:  You implement the
various types of Balls,
with their different behaviors.
To do so, simply implement
the interfaces that every Ball
implements (per this UML
class diagram).  All Balls
implement these same
interfaces, but in different ways.
 
Ball and its subclasses
should be in the
  ballworlds.ball
package.</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>1306.0</double> 
     <double>579.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object class="com.horstmann.violet.NoteNode"> 
    <void property="color"> 
     <object class="java.awt.Color"> 
      <int>255</int> 
      <int>182</int> 
      <int>193</int> 
      <int>255</int> 
     </object> 
    </void> 
    <void property="text"> 
     <void property="text"> 
      <string>Key:
solid line, triangle arrowhead:
      X extends Y (IS-A, inheritance)
 
dotted line, triangle arrowhead:
         X implements Y (IS-A, interfaces)
 
solid line, open arrowhead
with &quot;constructs&quot; on it:
        X CONSTRUCTS Y (HAS-A, constructs)
 
solid line, open arrowhead:
        X REFERENCES Y (HAS-A, references)
</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>17.0</double> 
     <double>569.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="InterfaceNode4" class="com.horstmann.violet.InterfaceNode"> 
    <void property="methods"> 
     <void property="text"> 
      <string>void run()</string> 
     </void> 
    </void> 
    <void property="name"> 
     <void property="text"> 
      <string>«interface»
Runnable</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>347.0</double> 
     <double>541.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="InterfaceNode5" class="com.horstmann.violet.InterfaceNode"> 
    <void property="methods"> 
     <void property="text"> 
      <string>void mouseClicked(MouseEvent event)
void mousePressed(MouseEvent event)
void mouseReleased(MouseEvent event)
void mouseEntered(MouseEvent event)
void mouseExited(MouseEvent event)</string> 
     </void> 
    </void> 
    <void property="name"> 
     <void property="text"> 
      <string>«interface» MouseListener</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>280.0</double> 
     <double>670.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="InterfaceNode6" class="com.horstmann.violet.InterfaceNode"> 
    <void property="methods"> 
     <void property="text"> 
      <string>void mouseMoved(MouseEvent event)
void mouseDragged(MouseEvent event)</string> 
     </void> 
    </void> 
    <void property="name"> 
     <void property="text"> 
      <string>«interface»
MouseMotionListener</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>600.0</double> 
     <double>680.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode16" class="com.horstmann.violet.ClassNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>&lt;&lt;abstract&gt;&gt;
Bumper</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>751.0</double> 
     <double>350.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode17" class="com.horstmann.violet.ClassNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>Color</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>1237.0</double> 
     <double>499.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode18" class="com.horstmann.violet.ClassNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>JPanel</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>592.0</double> 
     <double>41.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="NoteNode2" class="com.horstmann.violet.NoteNode"> 
    <void property="text"> 
     <void property="text"> 
      <string>Future extension</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>611.0</double> 
     <double>404.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="InterfaceNode7" class="com.horstmann.violet.InterfaceNode"> 
    <void property="methods"> 
     <void property="text"> 
      <string>void actionPerformed(ActionEvent event)</string> 
     </void> 
    </void> 
    <void property="name"> 
     <void property="text"> 
      <string>«interface» ActionListener</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>711.0</double> 
     <double>42.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="InterfaceNode8" class="com.horstmann.violet.InterfaceNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>«interface»
BumperEnvironment</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>580.0</double> 
     <double>470.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="InterfaceNode9" class="com.horstmann.violet.InterfaceNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>«interface»
Shape</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>1310.0</double> 
     <double>408.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode19" class="com.horstmann.violet.ClassNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>Ellipse2D.Double</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>1376.0</double> 
     <double>502.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="InterfaceNode10" class="com.horstmann.violet.InterfaceNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>«interface»
Point2D</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>915.0</double> 
     <double>590.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode20" class="com.horstmann.violet.ClassNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>Point2D.Double</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>918.0</double> 
     <double>678.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="InterfaceNode11" class="com.horstmann.violet.InterfaceNode"> 
    <void property="methods"> 
     <void property="text"> 
      <string>Ball nearestBall(Point2D point)
void drawBalls(
 Graphics2D graphics,
 Ball selectedBall)</string> 
     </void> 
    </void> 
    <void property="name"> 
     <void property="text"> 
      <string>«interface»
CollectionOfBalls</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>94.0</double> 
     <double>158.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode21" class="com.horstmann.violet.ClassNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>Color</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>352.0</double> 
     <double>42.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="ClassNode22" class="com.horstmann.violet.ClassNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>Rectangle</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>81.0</double> 
     <double>41.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="addNode"> 
   <object id="InterfaceNode12" class="com.horstmann.violet.InterfaceNode"> 
    <void property="name"> 
     <void property="text"> 
      <string>«interface»
Shape</string> 
     </void> 
    </void> 
   </object> 
   <object class="java.awt.geom.Point2D$Double"> 
    <void method="setLocation"> 
     <double>232.0</double> 
     <double>39.0</double> 
    </void> 
   </object> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.NoteEdge"/> 
   <object idref="ClassNode1"/> 
   <object idref="NoteNode0"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
   </object> 
   <object idref="ClassNode2"/> 
   <object idref="ClassNode3"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="V"/> 
    </void> 
    <void property="endLabel"> 
     <string>constructs 1</string> 
    </void> 
   </object> 
   <object idref="ClassNode1"/> 
   <object idref="ClassNode2"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="V"/> 
    </void> 
    <void property="endLabel"> 
     <string>constructs 1..*</string> 
    </void> 
   </object> 
   <object idref="ClassNode1"/> 
   <object idref="ClassNode5"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
    <void property="lineStyle"> 
     <object class="com.horstmann.violet.LineStyle" field="DOTTED"/> 
    </void> 
   </object> 
   <object idref="ClassNode0"/> 
   <object idref="InterfaceNode1"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
    <void property="lineStyle"> 
     <object class="com.horstmann.violet.LineStyle" field="DOTTED"/> 
    </void> 
   </object> 
   <object idref="ClassNode0"/> 
   <object idref="InterfaceNode0"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
    <void property="lineStyle"> 
     <object class="com.horstmann.violet.LineStyle" field="DOTTED"/> 
    </void> 
   </object> 
   <object idref="ClassNode0"/> 
   <object idref="InterfaceNode2"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="bentStyle"> 
     <object class="com.horstmann.violet.BentStyle" field="VH"/> 
    </void> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
    <void property="lineStyle"> 
     <object class="com.horstmann.violet.LineStyle" field="DOTTED"/> 
    </void> 
   </object> 
   <object idref="ClassNode5"/> 
   <object idref="InterfaceNode3"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="V"/> 
    </void> 
    <void property="endLabel"> 
     <string>1</string> 
    </void> 
    <void property="startArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="V"/> 
    </void> 
    <void property="startLabel"> 
     <string>*</string> 
    </void> 
   </object> 
   <object idref="ClassNode0"/> 
   <object idref="InterfaceNode3"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="V"/> 
    </void> 
    <void property="endLabel"> 
     <string>constructs 0..*</string> 
    </void> 
    <void property="startLabel"> 
     <string>*</string> 
    </void> 
   </object> 
   <object idref="ClassNode7"/> 
   <object idref="ClassNode0"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="V"/> 
    </void> 
    <void property="endLabel"> 
     <string>constructs 1</string> 
    </void> 
    <void property="startArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="V"/> 
    </void> 
   </object> 
   <object idref="ClassNode5"/> 
   <object idref="ClassNode4"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="V"/> 
    </void> 
    <void property="endLabel"> 
     <string>constructs 1</string> 
    </void> 
   </object> 
   <object idref="ClassNode5"/> 
   <object idref="ClassNode6"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="V"/> 
    </void> 
    <void property="endLabel"> 
     <string>constructs 6..*</string> 
    </void> 
   </object> 
   <object idref="ClassNode6"/> 
   <object idref="ClassNode7"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
   </object> 
   <object idref="ClassNode7"/> 
   <object idref="ClassNode10"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
   </object> 
   <object idref="ClassNode9"/> 
   <object idref="ClassNode0"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
   </object> 
   <object idref="ClassNode8"/> 
   <object idref="ClassNode9"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
   </object> 
   <object idref="ClassNode15"/> 
   <object idref="ClassNode13"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
   </object> 
   <object idref="ClassNode14"/> 
   <object idref="ClassNode13"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
   </object> 
   <object idref="ClassNode13"/> 
   <object idref="ClassNode12"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
    <void property="lineStyle"> 
     <object class="com.horstmann.violet.LineStyle" field="DOTTED"/> 
    </void> 
   </object> 
   <object idref="ClassNode4"/> 
   <object idref="InterfaceNode4"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
    <void property="lineStyle"> 
     <object class="com.horstmann.violet.LineStyle" field="DOTTED"/> 
    </void> 
   </object> 
   <object idref="ClassNode4"/> 
   <object idref="InterfaceNode5"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
    <void property="lineStyle"> 
     <object class="com.horstmann.violet.LineStyle" field="DOTTED"/> 
    </void> 
   </object> 
   <object idref="ClassNode4"/> 
   <object idref="InterfaceNode6"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.NoteEdge"/> 
   <object idref="ClassNode0"/> 
   <object idref="NoteNode1"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
    <void property="lineStyle"> 
     <object class="com.horstmann.violet.LineStyle" field="DOTTED"/> 
    </void> 
   </object> 
   <object idref="ClassNode5"/> 
   <object idref="InterfaceNode4"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="V"/> 
    </void> 
    <void property="endLabel"> 
     <string>1</string> 
    </void> 
    <void property="startLabel"> 
     <string>*</string> 
    </void> 
   </object> 
   <object idref="ClassNode5"/> 
   <object idref="ClassNode2"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
   </object> 
   <object idref="ClassNode4"/> 
   <object idref="ClassNode11"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
    <void property="lineStyle"> 
     <object class="com.horstmann.violet.LineStyle" field="DOTTED"/> 
    </void> 
   </object> 
   <object idref="ClassNode16"/> 
   <object idref="InterfaceNode2"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
   </object> 
   <object idref="ClassNode6"/> 
   <object idref="ClassNode18"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
    <void property="lineStyle"> 
     <object class="com.horstmann.violet.LineStyle" field="DOTTED"/> 
    </void> 
   </object> 
   <object idref="ClassNode5"/> 
   <object idref="InterfaceNode1"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.NoteEdge"/> 
   <object idref="ClassNode16"/> 
   <object idref="NoteNode2"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="V"/> 
    </void> 
    <void property="endLabel"> 
     <string>constructs 0..*</string> 
    </void> 
   </object> 
   <object idref="ClassNode5"/> 
   <object idref="ClassNode16"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
    <void property="lineStyle"> 
     <object class="com.horstmann.violet.LineStyle" field="DOTTED"/> 
    </void> 
   </object> 
   <object idref="ClassNode16"/> 
   <object idref="InterfaceNode1"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
    <void property="lineStyle"> 
     <object class="com.horstmann.violet.LineStyle" field="DOTTED"/> 
    </void> 
   </object> 
   <object idref="ClassNode7"/> 
   <object idref="InterfaceNode7"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.NoteEdge"/> 
   <object idref="InterfaceNode8"/> 
   <object idref="NoteNode2"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
    <void property="lineStyle"> 
     <object class="com.horstmann.violet.LineStyle" field="DOTTED"/> 
    </void> 
   </object> 
   <object idref="ClassNode5"/> 
   <object idref="InterfaceNode8"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
    <void property="lineStyle"> 
     <object class="com.horstmann.violet.LineStyle" field="DOTTED"/> 
    </void> 
   </object> 
   <object idref="ClassNode19"/> 
   <object idref="InterfaceNode9"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
    <void property="lineStyle"> 
     <object class="com.horstmann.violet.LineStyle" field="DOTTED"/> 
    </void> 
   </object> 
   <object idref="ClassNode20"/> 
   <object idref="InterfaceNode10"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
    <void property="lineStyle"> 
     <object class="com.horstmann.violet.LineStyle" field="DOTTED"/> 
    </void> 
   </object> 
   <object idref="ClassNode5"/> 
   <object idref="InterfaceNode11"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="V"/> 
    </void> 
   </object> 
   <object idref="ClassNode5"/> 
   <object idref="ClassNode21"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="V"/> 
    </void> 
   </object> 
   <object idref="ClassNode5"/> 
   <object idref="InterfaceNode12"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
    <void property="lineStyle"> 
     <object class="com.horstmann.violet.LineStyle" field="DOTTED"/> 
    </void> 
   </object> 
   <object idref="ClassNode22"/> 
   <object idref="InterfaceNode12"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="bentStyle"> 
     <object class="com.horstmann.violet.BentStyle" field="VHV"/> 
    </void> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/> 
    </void> 
   </object> 
   <object idref="ClassNode12"/> 
   <object idref="ClassNode8"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="V"/> 
    </void> 
   </object> 
   <object idref="ClassNode9"/> 
   <object idref="InterfaceNode9"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="V"/> 
    </void> 
   </object> 
   <object idref="ClassNode9"/> 
   <object idref="ClassNode17"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="V"/> 
    </void> 
    <void property="endLabel"> 
     <string>velocity</string> 
    </void> 
   </object> 
   <object idref="ClassNode8"/> 
   <object idref="InterfaceNode10"/> 
  </void> 
  <void method="connect"> 
   <object class="com.horstmann.violet.ClassRelationshipEdge"> 
    <void property="endArrowHead"> 
     <object class="com.horstmann.violet.ArrowHead" field="V"/> 
    </void> 
    <void property="endLabel"> 
     <string>1</string> 
    </void> 
    <void property="startLabel"> 
     <string>*</string> 
    </void> 
   </object> 
   <object idref="ClassNode7"/> 
   <object idref="InterfaceNode3"/> 
  </void> 
 </object> 
</java> 
