// This file is automatically generated by DemeterJ.

TraceVisitor {
  {{
    protected java.io.PrintWriter out = new java.io.PrintWriter(System.out, true);
    java.io.PrintWriter get_out()             { return out; }
    void set_out(java.io.PrintWriter new_out) { out = new_out; }
    TraceVisitor(java.io.PrintWriter out)     { set_out(out); }
    TraceVisitor(java.io.PrintStream out)
      { set_out(new java.io.PrintWriter(out, true)); }
  }}
  finish {{ out.flush(); }}


  before Container {{
    out.println("before Container");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after Container {{
    out.println("after Container");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> Container, contents, Item_List {{
    out.println("before -> Container, contents, Item_List ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> Container, contents, Item_List {{
    out.println("after -> Container, contents, Item_List ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> Container, capacity, Capacity {{
    out.println("before -> Container, capacity, Capacity ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> Container, capacity, Capacity {{
    out.println("after -> Container, capacity, Capacity ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before Item {{
    out.println("before Item");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after Item {{
    out.println("after Item");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before Simple {{
    out.println("before Simple");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after Simple {{
    out.println("after Simple");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> Simple, name, Ident {{
    out.println("before -> Simple, name, Ident ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> Simple, name, Ident {{
    out.println("after -> Simple, name, Ident ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> Simple, w, Weight {{
    out.println("before -> Simple, w, Weight ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> Simple, w, Weight {{
    out.println("after -> Simple, w, Weight ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before Capacity {{
    out.println("before Capacity");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after Capacity {{
    out.println("after Capacity");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> Capacity, i, Integer {{
    out.println("before -> Capacity, i, Integer ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> Capacity, i, Integer {{
    out.println("after -> Capacity, i, Integer ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before Weight {{
    out.println("before Weight");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after Weight {{
    out.println("after Weight");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> Weight, i, Integer {{
    out.println("before -> Weight, i, Integer ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> Weight, i, Integer {{
    out.println("after -> Weight, i, Integer ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before CheckingVisitorDJ {{
    out.println("before CheckingVisitorDJ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after CheckingVisitorDJ {{
    out.println("after CheckingVisitorDJ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> CheckingVisitorDJ, iV, DifferenceVisitorDJ {{
    out.println("before -> CheckingVisitorDJ, iV, DifferenceVisitorDJ ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> CheckingVisitorDJ, iV, DifferenceVisitorDJ {{
    out.println("after -> CheckingVisitorDJ, iV, DifferenceVisitorDJ ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> CheckingVisitorDJ, violations, int {{
    out.println("before -> CheckingVisitorDJ, violations, int ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> CheckingVisitorDJ, violations, int {{
    out.println("after -> CheckingVisitorDJ, violations, int ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before SummingVisitorDJ {{
    out.println("before SummingVisitorDJ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after SummingVisitorDJ {{
    out.println("after SummingVisitorDJ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> SummingVisitorDJ, total, int {{
    out.println("before -> SummingVisitorDJ, total, int ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> SummingVisitorDJ, total, int {{
    out.println("after -> SummingVisitorDJ, total, int ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before DifferenceVisitorDJ {{
    out.println("before DifferenceVisitorDJ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after DifferenceVisitorDJ {{
    out.println("after DifferenceVisitorDJ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> DifferenceVisitorDJ, difference, int {{
    out.println("before -> DifferenceVisitorDJ, difference, int ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> DifferenceVisitorDJ, difference, int {{
    out.println("after -> DifferenceVisitorDJ, difference, int ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> DifferenceVisitorDJ, stack, Stack {{
    out.println("before -> DifferenceVisitorDJ, stack, Stack ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> DifferenceVisitorDJ, stack, Stack {{
    out.println("after -> DifferenceVisitorDJ, stack, Stack ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> DifferenceVisitorDJ, sV, SummingVisitorDJ {{
    out.println("before -> DifferenceVisitorDJ, sV, SummingVisitorDJ ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> DifferenceVisitorDJ, sV, SummingVisitorDJ {{
    out.println("after -> DifferenceVisitorDJ, sV, SummingVisitorDJ ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before Main {{
    out.println("before Main");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after Main {{
    out.println("after Main");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before PrintVisitor {{
    out.println("before PrintVisitor");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after PrintVisitor {{
    out.println("after PrintVisitor");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> PrintVisitor, indent, int {{
    out.println("before -> PrintVisitor, indent, int ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> PrintVisitor, indent, int {{
    out.println("after -> PrintVisitor, indent, int ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> PrintVisitor, needSpace, boolean {{
    out.println("before -> PrintVisitor, needSpace, boolean ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> PrintVisitor, needSpace, boolean {{
    out.println("after -> PrintVisitor, needSpace, boolean ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before CopyVisitor {{
    out.println("before CopyVisitor");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after CopyVisitor {{
    out.println("after CopyVisitor");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> CopyVisitor, copy, Object {{
    out.println("before -> CopyVisitor, copy, Object ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> CopyVisitor, copy, Object {{
    out.println("after -> CopyVisitor, copy, Object ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before SubgraphVisitor {{
    out.println("before SubgraphVisitor");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after SubgraphVisitor {{
    out.println("after SubgraphVisitor");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> SubgraphVisitor, is_equal, boolean {{
    out.println("before -> SubgraphVisitor, is_equal, boolean ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> SubgraphVisitor, is_equal, boolean {{
    out.println("after -> SubgraphVisitor, is_equal, boolean ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before EqualVisitor {{
    out.println("before EqualVisitor");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after EqualVisitor {{
    out.println("after EqualVisitor");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> EqualVisitor, is_equal, boolean {{
    out.println("before -> EqualVisitor, is_equal, boolean ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> EqualVisitor, is_equal, boolean {{
    out.println("after -> EqualVisitor, is_equal, boolean ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before DisplayVisitor {{
    out.println("before DisplayVisitor");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after DisplayVisitor {{
    out.println("after DisplayVisitor");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> DisplayVisitor, indent, int {{
    out.println("before -> DisplayVisitor, indent, int ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> DisplayVisitor, indent, int {{
    out.println("after -> DisplayVisitor, indent, int ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before TraceVisitor {{
    out.println("before TraceVisitor");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after TraceVisitor {{
    out.println("after TraceVisitor");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> TraceVisitor, indent, int {{
    out.println("before -> TraceVisitor, indent, int ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> TraceVisitor, indent, int {{
    out.println("after -> TraceVisitor, indent, int ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before UniversalVisitor {{
    out.println("before UniversalVisitor");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after UniversalVisitor {{
    out.println("after UniversalVisitor");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before Item_List {{
    out.println("before Item_List");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after Item_List {{
    out.println("after Item_List");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> Item_List, first, Nonempty_Item_List {{
    out.println("before -> Item_List, first, Nonempty_Item_List ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> Item_List, first, Nonempty_Item_List {{
    out.println("after -> Item_List, first, Nonempty_Item_List ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before Nonempty_Item_List {{
    out.println("before Nonempty_Item_List");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after Nonempty_Item_List {{
    out.println("after Nonempty_Item_List");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> Nonempty_Item_List, it, Item {{
    out.println("before -> Nonempty_Item_List, it, Item ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> Nonempty_Item_List, it, Item {{
    out.println("after -> Nonempty_Item_List, it, Item ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> Nonempty_Item_List, next, Nonempty_Item_List {{
    out.println("before -> Nonempty_Item_List, next, Nonempty_Item_List ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> Nonempty_Item_List, next, Nonempty_Item_List {{
    out.println("after -> Nonempty_Item_List, next, Nonempty_Item_List ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
}