#!/usr/local/bin/dot
#
# Class diagram 
# Generated by UMLGraph version 5.3 (http://www.umlgraph.org/)
#

digraph G {
	edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10];
	node [fontname="Helvetica",fontsize=10,shape=plaintext];
	nodesep=0.25;
	ranksep=0.5;
	// A
	c60 [label=<<table title="A" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> A </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left">  first : B </td></tr><tr><td align="left" balign="left">  second : B </td></tr><tr><td align="left" balign="left">  third : C </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left">  </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0];
	// B
	c61 [label=<<table title="B" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> B </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left">  </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left">  doSomething(b : B, c : C) : A </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0];
	// C
	c62 [label=<<table title="C" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> C </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left">  collectionOfA : List&lt;A&gt; </td></tr><tr><td align="left" balign="left">  collectionOfB : ArrayList&lt;B&gt; </td></tr><tr><td align="left" balign="left">  mapOfD : Map&lt;String, D&gt; </td></tr><tr><td align="left" balign="left">  childs : C[] </td></tr><tr><td align="left" balign="left">  anOpaqueList : List&lt;&gt; </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left">  </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0];
	// MyFunnyList<T, V>
	c63 [label=<<table title="MyFunnyList" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> MyFunnyList&lt;T, V&gt; </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left">  myField : V </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left">  </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0];
	// MyList
	c64 [label=<<table title="MyList" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> MyList </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0];
	// D
	c65 [label=<<table title="D" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> D </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left">  anotherListOfA : MyList </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left">  </td></tr></table></td></tr></table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0];
	//MyFunnyList<T, V> extends java.util.ArrayList<T>
	c66:p -> c63:p [dir=back,arrowtail=empty];
	//MyList extends MyFunnyList<A, B>
	c63:p -> c64:p [dir=back,arrowtail=empty];
	// A HAS B
	c60:p -> c61:p [taillabel="", label="", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none, arrowtail=ediamond, dir=both];
	// A HAS B
	c60:p -> c61:p [taillabel="", label="", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none, arrowtail=ediamond, dir=both];
	// A HAS C
	c60:p -> c62:p [taillabel="", label="", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none, arrowtail=ediamond, dir=both];
	// C NAVASSOC A
	c62:p -> c60:p [taillabel="", label="", headlabel="*", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open];
	// C NAVASSOC B
	c62:p -> c61:p [taillabel="", label="", headlabel="*", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open];
	// C NAVASSOC D
	c62:p -> c65:p [taillabel="", label="", headlabel="*", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open];
	// C NAVASSOC C
	c62:p -> c62:p [taillabel="", label="", headlabel="*", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open];
	// C NAVASSOC java.util.List<E>
	c62:p -> c67:p [taillabel="", label="", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open];
	// D NAVASSOC MyList
	c65:p -> c64:p [taillabel="", label="", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open];
	// B DEPEND A
	c61:p -> c60:p [taillabel="", label="", headlabel="", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=open, style=dashed];
	// java.util.ArrayList<E>
	c66 [label=<<table title="java.util.ArrayList" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/ArrayList.html"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> ArrayList&lt;E&gt; </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left">  serialVersionUID : long </td></tr><tr><td align="left" balign="left">  elementData : Object[] </td></tr><tr><td align="left" balign="left">  size : int </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left">  trimToSize() </td></tr><tr><td align="left" balign="left">  ensureCapacity(arg0 : int) </td></tr><tr><td align="left" balign="left">  size() : int </td></tr><tr><td align="left" balign="left">  isEmpty() : boolean </td></tr><tr><td align="left" balign="left">  contains(arg0 : Object) : boolean </td></tr><tr><td align="left" balign="left">  indexOf(arg0 : Object) : int </td></tr><tr><td align="left" balign="left">  lastIndexOf(arg0 : Object) : int </td></tr><tr><td align="left" balign="left">  clone() : Object </td></tr><tr><td align="left" balign="left">  toArray() : Object[] </td></tr><tr><td align="left" balign="left">  toArray(arg0 : T[]) : T[] </td></tr><tr><td align="left" balign="left">  get(arg0 : int) : E </td></tr><tr><td align="left" balign="left">  set(arg0 : int, arg1 : E) : E </td></tr><tr><td align="left" balign="left">  add(arg0 : E) : boolean </td></tr><tr><td align="left" balign="left">  add(arg0 : int, arg1 : E) </td></tr><tr><td align="left" balign="left">  remove(arg0 : int) : E </td></tr><tr><td align="left" balign="left">  remove(arg0 : Object) : boolean </td></tr><tr><td align="left" balign="left">  fastRemove(arg0 : int) </td></tr><tr><td align="left" balign="left">  clear() </td></tr><tr><td align="left" balign="left">  addAll(arg0 : Collection&lt;?&gt;) : boolean </td></tr><tr><td align="left" balign="left">  addAll(arg0 : int, arg1 : Collection&lt;?&gt;) : boolean </td></tr><tr><td align="left" balign="left">  removeRange(arg0 : int, arg1 : int) </td></tr><tr><td align="left" balign="left">  RangeCheck(arg0 : int) </td></tr><tr><td align="left" balign="left">  writeObject(arg0 : ObjectOutputStream) </td></tr><tr><td align="left" balign="left">  readObject(arg0 : ObjectInputStream) </td></tr></table></td></tr></table>>, URL="http://java.sun.com/j2se/1.4.2/docs/api/java/util/ArrayList.html", fontname="Helvetica", fontcolor="black", fontsize=10.0];
	// java.util.List<E>
	c67 [label=<<table title="java.util.List" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html"><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="center" balign="center"> &#171;interface&#187; </td></tr><tr><td align="center" balign="center"> List&lt;E&gt; </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left">  </td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td align="left" balign="left">  size() : int </td></tr><tr><td align="left" balign="left">  isEmpty() : boolean </td></tr><tr><td align="left" balign="left">  contains(arg0 : Object) : boolean </td></tr><tr><td align="left" balign="left">  iterator() : Iterator&lt;E&gt; </td></tr><tr><td align="left" balign="left">  toArray() : Object[] </td></tr><tr><td align="left" balign="left">  toArray(arg0 : T[]) : T[] </td></tr><tr><td align="left" balign="left">  add(arg0 : E) : boolean </td></tr><tr><td align="left" balign="left">  remove(arg0 : Object) : boolean </td></tr><tr><td align="left" balign="left">  containsAll(arg0 : Collection&lt;?&gt;) : boolean </td></tr><tr><td align="left" balign="left">  addAll(arg0 : Collection&lt;?&gt;) : boolean </td></tr><tr><td align="left" balign="left">  addAll(arg0 : int, arg1 : Collection&lt;?&gt;) : boolean </td></tr><tr><td align="left" balign="left">  removeAll(arg0 : Collection&lt;?&gt;) : boolean </td></tr><tr><td align="left" balign="left">  retainAll(arg0 : Collection&lt;?&gt;) : boolean </td></tr><tr><td align="left" balign="left">  clear() </td></tr><tr><td align="left" balign="left">  equals(arg0 : Object) : boolean </td></tr><tr><td align="left" balign="left">  hashCode() : int </td></tr><tr><td align="left" balign="left">  get(arg0 : int) : E </td></tr><tr><td align="left" balign="left">  set(arg0 : int, arg1 : E) : E </td></tr><tr><td align="left" balign="left">  add(arg0 : int, arg1 : E) </td></tr><tr><td align="left" balign="left">  remove(arg0 : int) : E </td></tr><tr><td align="left" balign="left">  indexOf(arg0 : Object) : int </td></tr><tr><td align="left" balign="left">  lastIndexOf(arg0 : Object) : int </td></tr><tr><td align="left" balign="left">  listIterator() : ListIterator&lt;E&gt; </td></tr><tr><td align="left" balign="left">  listIterator(arg0 : int) : ListIterator&lt;E&gt; </td></tr><tr><td align="left" balign="left">  subList(arg0 : int, arg1 : int) : List&lt;E&gt; </td></tr></table></td></tr></table>>, URL="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html", fontname="Helvetica", fontcolor="black", fontsize=10.0];
}

