// 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 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 -> Main, s, String {{
    out.println("before -> Main, s, String ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> Main, s, String {{
    out.println("after -> Main, s, String ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before Graph {{
    out.println("before Graph");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after Graph {{
    out.println("after Graph");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> Graph, adjacencies, AdjacencyList {{
    out.println("before -> Graph, adjacencies, AdjacencyList ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> Graph, adjacencies, AdjacencyList {{
    out.println("after -> Graph, adjacencies, AdjacencyList ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before Adjacency {{
    out.println("before Adjacency");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after Adjacency {{
    out.println("after Adjacency");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> Adjacency, node, Node {{
    out.println("before -> Adjacency, node, Node ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> Adjacency, node, Node {{
    out.println("after -> Adjacency, node, Node ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> Adjacency, neighbors, NodeList {{
    out.println("before -> Adjacency, neighbors, NodeList ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> Adjacency, neighbors, NodeList {{
    out.println("after -> Adjacency, neighbors, NodeList ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before Node {{
    out.println("before Node");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after Node {{
    out.println("after Node");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> Node, v, int {{
    out.println("before -> Node, v, int ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> Node, v, int {{
    out.println("after -> Node, v, int ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before AdjacencyList {{
    out.println("before AdjacencyList");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after AdjacencyList {{
    out.println("after AdjacencyList");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before AdjacencyCons {{
    out.println("before AdjacencyCons");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after AdjacencyCons {{
    out.println("after AdjacencyCons");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> AdjacencyCons, first, Adjacency {{
    out.println("before -> AdjacencyCons, first, Adjacency ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> AdjacencyCons, first, Adjacency {{
    out.println("after -> AdjacencyCons, first, Adjacency ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> AdjacencyCons, rest, AdjacencyList {{
    out.println("before -> AdjacencyCons, rest, AdjacencyList ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> AdjacencyCons, rest, AdjacencyList {{
    out.println("after -> AdjacencyCons, rest, AdjacencyList ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before AdjacencyEmpty {{
    out.println("before AdjacencyEmpty");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after AdjacencyEmpty {{
    out.println("after AdjacencyEmpty");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before NodeList {{
    out.println("before NodeList");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after NodeList {{
    out.println("after NodeList");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before NodeCons {{
    out.println("before NodeCons");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after NodeCons {{
    out.println("after NodeCons");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> NodeCons, first, Node {{
    out.println("before -> NodeCons, first, Node ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> NodeCons, first, Node {{
    out.println("after -> NodeCons, first, Node ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> NodeCons, rest, NodeList {{
    out.println("before -> NodeCons, rest, NodeList ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> NodeCons, rest, NodeList {{
    out.println("after -> NodeCons, rest, NodeList ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before NodeEmpty {{
    out.println("before NodeEmpty");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after NodeEmpty {{
    out.println("after NodeEmpty");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before Down {{
    out.println("before Down");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after Down {{
    out.println("after Down");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  before -> Down, v, int {{
    out.println("before -> Down, v, int ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }}
  after -> Down, v, int {{
    out.println("after -> Down, v, int ");
    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(" ");
  }}
}