DJ version 0.7.4-alpha-8 = DJ version used The class graph is Alternat = Vertex Vertex extends Neighbors. Neighbors : Alternat | Construct common . Vertex = Ident. Object : Adj_list | Vertex | Any_vertex | Any_vertex_list | Adj | Neighbors | Main | AbstractCollection common . Adj_list : Cd_graph | Empty_cd_graph common . Ident = . Any_vertex : Labeled_vertex | Syntax_vertex common . Any_vertex_list : Empty | Nany_vertex_list common . Cd_graph = Adj Adj_list extends Adj_list. Adj = Vertex Neighbors. Construct = Any_vertex_list extends Neighbors. Empty = extends Any_vertex_list. Empty_cd_graph = extends Adj_list. Labeled_vertex = Ident Vertex extends Any_vertex. Nany_vertex_list = Any_vertex Any_vertex_list extends Any_vertex_list. Syntax_vertex = String extends Any_vertex. String = . Main = . DefinedClassVisitor = Vector extends Visitor. Visitor : DefinedClassVisitor | TBRVisitor common . Vector = Object extends ArrayList. TBRVisitor = extends Visitor. Collection = Object. List = Object. Set = Object. SortedSet = Object. Container = Object. Sequence = Object. AbstractCollection : AbstractList | AbstractSet common Object extends Object. AbstractList : ArrayList | AbstractSequentialList common Object extends AbstractCollection. ArrayList : Vector common Object extends AbstractList. AbstractSequentialList : LinkedList common Object extends AbstractList. LinkedList = Object extends AbstractSequentialList. AbstractSet : HashSet | TreeSet common Object extends AbstractCollection. HashSet = Object extends AbstractSet. TreeSet = Object extends AbstractSet. end class graph begin collecting defined classes. Adj: A1 Adj: A2 Adj: A Adj: X Adj: B Adj: C Adj: T Adj: S end collecting defined classes. begin Adj: A1 target class A1 target class A1 A1 has 2 part(s) with 0 terminal part(s). Adj: A2 target class A1 target class A1 A2 has 2 part(s) with 0 terminal part(s). Adj: A target class X target class Integer Class violates the Terminal Buffer Rule: Integer A has 2 part(s) with 1 terminal part(s). Adj: X X has 0 part(s) with 0 terminal part(s). Adj: B target class Long B has 1 part(s) with 1 terminal part(s). Adj: C target class Integer target class Integer Class violates the Terminal Buffer Rule: Integer Class violates the Terminal Buffer Rule: Integer C has 2 part(s) with 2 terminal part(s). Adj: T Adj: S target class Vector target class A Class violates the Terminal Buffer Rule: Vector S has 2 part(s) with 1 terminal part(s). end The traversal graph tg1 is Nodes: Adj_list: in copies {0} Cd_graph: in copies {0} Adj: in copies {0} Edges: -> Cd_graph,ffirst,Adj: in copies {0} -> Cd_graph,frest,Adj_list: in copies {0} => Adj_list,Cd_graph: in copies {0} end traversal graph The summarized traversal graph of tg1 is Cd_graph = Adj Adj_list. Adj = . Adj_list : Cd_graph common . end summarized traversal graph The traversal graph tg2 is Nodes: Vertex: in copies {1} Adj_list: in copies {0} Neighbors: in copies {0, 1} Any_vertex_list: in copies {1} Construct: in copies {1} Nany_vertex_list: in copies {1} Any_vertex: in copies {1} Cd_graph: in copies {0} Adj: in copies {0} Labeled_vertex: in copies {1} Edges: -> Adj,fns,Neighbors: in copies {0} -> Cd_graph,ffirst,Adj: in copies {0} -> Nany_vertex_list,frest,Any_vertex_list: in copies {1} -> Nany_vertex_list,ffirst,Any_vertex: in copies {1} -> Cd_graph,frest,Adj_list: in copies {0} => Neighbors,Construct: in copies {}, intercopy table {{0, 1}} -> Construct,fc_ns,Any_vertex_list: in copies {1} => Adj_list,Cd_graph: in copies {0} => Any_vertex_list,Nany_vertex_list: in copies {1} => Any_vertex,Labeled_vertex: in copies {1} -> Labeled_vertex,fclass_name,Vertex: in copies {1} end traversal graph The summarized traversal graph of tg2 is Adj = Neighbors. Neighbors : Construct common . Cd_graph = Adj Adj_list. Nany_vertex_list = Any_vertex_list Any_vertex. Any_vertex_list : Nany_vertex_list common . Any_vertex : Labeled_vertex common . Adj_list : Cd_graph common . Construct = Any_vertex_list. Labeled_vertex = Vertex. Vertex = . end summarized traversal graph SUCCESS