package CSU670_Plugin.gen;
import edu.neu.ccs.demeter.dj.*;
import edu.neu.ccs.demeter.aplib.cd.ClassDefVisitor;
import edu.neu.ccs.demeter.aplib.cd.ClassDef;
import java.io.*;
import java.util.*;
import edu.neu.ccs.demeter.*;
class TraceVisitor extends UniversalVisitor {
  protected int indent;
  public int get_indent() { return indent; }
  public void set_indent(int new_indent) { indent = new_indent; }
  public TraceVisitor() { super(); }
  public TraceVisitor(int indent) {
    super();
    set_indent(indent);
  }

    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)); }
  
  public void finish() { out.flush(); }
  public void before(AspectFile host) {
    out.println("before AspectFile");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(AspectFile host) {
    out.println("after AspectFile");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_aspects(AspectFile source, Aspects dest) {
    out.println("before -> AspectFile, aspects, Aspects ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_aspects(AspectFile source, Aspects dest) {
    out.println("after -> AspectFile, aspects, Aspects ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Aspect host) {
    out.println("before Aspect");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Aspect host) {
    out.println("after Aspect");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_aspectbody(Aspect source, AspectBody dest) {
    out.println("before -> Aspect, aspectbody, AspectBody ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_aspectbody(Aspect source, AspectBody dest) {
    out.println("after -> Aspect, aspectbody, AspectBody ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(AspectBody host) {
    out.println("before AspectBody");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(AspectBody host) {
    out.println("after AspectBody");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(AspectCD host) {
    out.println("before AspectCD");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(AspectCD host) {
    out.println("after AspectCD");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_aspectname(AspectCD source, AspectName dest) {
    out.println("before -> AspectCD, aspectname, AspectName ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_aspectname(AspectCD source, AspectName dest) {
    out.println("after -> AspectCD, aspectname, AspectName ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_cdbody(AspectCD source, CDBody dest) {
    out.println("before -> AspectCD, cdbody, CDBody ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_cdbody(AspectCD source, CDBody dest) {
    out.println("after -> AspectCD, cdbody, CDBody ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(AspectTV host) {
    out.println("before AspectTV");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(AspectTV host) {
    out.println("after AspectTV");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_aspectname(AspectTV source, AspectName dest) {
    out.println("before -> AspectTV, aspectname, AspectName ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_aspectname(AspectTV source, AspectName dest) {
    out.println("after -> AspectTV, aspectname, AspectName ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_tvbody(AspectTV source, TVBody dest) {
    out.println("before -> AspectTV, tvbody, TVBody ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_tvbody(AspectTV source, TVBody dest) {
    out.println("after -> AspectTV, tvbody, TVBody ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(TVBody host) {
    out.println("before TVBody");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(TVBody host) {
    out.println("after TVBody");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_tvdeclarations(TVBody source, TVDeclarations dest) {
    out.println("before -> TVBody, tvdeclarations, TVDeclarations ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_tvdeclarations(TVBody source, TVDeclarations dest) {
    out.println("after -> TVBody, tvdeclarations, TVDeclarations ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(TVDeclaration host) {
    out.println("before TVDeclaration");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(TVDeclaration host) {
    out.println("after TVDeclaration");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_tvdeclarationbody(TVDeclaration source, TVDeclarationBody dest) {
    out.println("before -> TVDeclaration, tvdeclarationbody, TVDeclarationBody ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_tvdeclarationbody(TVDeclaration source, TVDeclarationBody dest) {
    out.println("after -> TVDeclaration, tvdeclarationbody, TVDeclarationBody ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(TVDeclarationBody host) {
    out.println("before TVDeclarationBody");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(TVDeclarationBody host) {
    out.println("after TVDeclarationBody");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(DecChosen host) {
    out.println("before DecChosen");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(DecChosen host) {
    out.println("after DecChosen");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_decchosenbody(DecChosen source, DecChosenBody dest) {
    out.println("before -> DecChosen, decchosenbody, DecChosenBody ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_decchosenbody(DecChosen source, DecChosenBody dest) {
    out.println("after -> DecChosen, decchosenbody, DecChosenBody ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(DecChosenBody host) {
    out.println("before DecChosenBody");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(DecChosenBody host) {
    out.println("after DecChosenBody");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(ChosenSelector host) {
    out.println("before ChosenSelector");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(ChosenSelector host) {
    out.println("after ChosenSelector");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_ident(ChosenSelector source, Ident dest) {
    out.println("before -> ChosenSelector, ident, Ident ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_ident(ChosenSelector source, Ident dest) {
    out.println("after -> ChosenSelector, ident, Ident ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(ChosenCD host) {
    out.println("before ChosenCD");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(ChosenCD host) {
    out.println("after ChosenCD");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_ident(ChosenCD source, Ident dest) {
    out.println("before -> ChosenCD, ident, Ident ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_ident(ChosenCD source, Ident dest) {
    out.println("after -> ChosenCD, ident, Ident ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(DecStrategy host) {
    out.println("before DecStrategy");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(DecStrategy host) {
    out.println("after DecStrategy");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_decname(DecStrategy source, DecName dest) {
    out.println("before -> DecStrategy, decname, DecName ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_decname(DecStrategy source, DecName dest) {
    out.println("after -> DecStrategy, decname, DecName ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_strategyexpression(DecStrategy source, StrategyExpression dest) {
    out.println("before -> DecStrategy, strategyexpression, StrategyExpression ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_strategyexpression(DecStrategy source, StrategyExpression dest) {
    out.println("after -> DecStrategy, strategyexpression, StrategyExpression ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(DecNodeSet host) {
    out.println("before DecNodeSet");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(DecNodeSet host) {
    out.println("after DecNodeSet");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_nodesubsetname(DecNodeSet source, NodeSubsetName dest) {
    out.println("before -> DecNodeSet, nodesubsetname, NodeSubsetName ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_nodesubsetname(DecNodeSet source, NodeSubsetName dest) {
    out.println("after -> DecNodeSet, nodesubsetname, NodeSubsetName ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_decnodesetbody(DecNodeSet source, DecNodeSetBody dest) {
    out.println("before -> DecNodeSet, decnodesetbody, DecNodeSetBody ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_decnodesetbody(DecNodeSet source, DecNodeSetBody dest) {
    out.println("after -> DecNodeSet, decnodesetbody, DecNodeSetBody ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(NodeSubsetName host) {
    out.println("before NodeSubsetName");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(NodeSubsetName host) {
    out.println("after NodeSubsetName");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_ident(NodeSubsetName source, Ident dest) {
    out.println("before -> NodeSubsetName, ident, Ident ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_ident(NodeSubsetName source, Ident dest) {
    out.println("after -> NodeSubsetName, ident, Ident ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(DecNodeSetBody host) {
    out.println("before DecNodeSetBody");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(DecNodeSetBody host) {
    out.println("after DecNodeSetBody");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Simple host) {
    out.println("before Simple");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Simple host) {
    out.println("after Simple");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(BCompound host) {
    out.println("before BCompound");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(BCompound host) {
    out.println("after BCompound");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_op(BCompound source, BinaryOp dest) {
    out.println("before -> BCompound, op, BinaryOp ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_op(BCompound source, BinaryOp dest) {
    out.println("after -> BCompound, op, BinaryOp ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_args(BCompound source, DecNodeSetBody_PCList dest) {
    out.println("before -> BCompound, args, DecNodeSetBody_PCList ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_args(BCompound source, DecNodeSetBody_PCList dest) {
    out.println("after -> BCompound, args, DecNodeSetBody_PCList ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(UCompound host) {
    out.println("before UCompound");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(UCompound host) {
    out.println("after UCompound");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_op(UCompound source, UnaryOp dest) {
    out.println("before -> UCompound, op, UnaryOp ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_op(UCompound source, UnaryOp dest) {
    out.println("after -> UCompound, op, UnaryOp ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_arg(UCompound source, DecNodeSetBody dest) {
    out.println("before -> UCompound, arg, DecNodeSetBody ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_arg(UCompound source, DecNodeSetBody dest) {
    out.println("after -> UCompound, arg, DecNodeSetBody ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Operator host) {
    out.println("before Operator");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Operator host) {
    out.println("after Operator");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(BinaryOp host) {
    out.println("before BinaryOp");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(BinaryOp host) {
    out.println("after BinaryOp");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(UnaryOp host) {
    out.println("before UnaryOp");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(UnaryOp host) {
    out.println("after UnaryOp");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Union host) {
    out.println("before Union");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Union host) {
    out.println("after Union");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Intersection host) {
    out.println("before Intersection");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Intersection host) {
    out.println("after Intersection");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Complement host) {
    out.println("before Complement");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Complement host) {
    out.println("after Complement");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(ClassNameSet host) {
    out.println("before ClassNameSet");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(ClassNameSet host) {
    out.println("after ClassNameSet");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_items(ClassNameSet source, ClassName_BCList dest) {
    out.println("before -> ClassNameSet, items, ClassName_BCList ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_items(ClassNameSet source, ClassName_BCList dest) {
    out.println("after -> ClassNameSet, items, ClassName_BCList ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(GraphNodes host) {
    out.println("before GraphNodes");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(GraphNodes host) {
    out.println("after GraphNodes");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_decname(GraphNodes source, DecName dest) {
    out.println("before -> GraphNodes, decname, DecName ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_decname(GraphNodes source, DecName dest) {
    out.println("after -> GraphNodes, decname, DecName ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(GraphNodeRegExp host) {
    out.println("before GraphNodeRegExp");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(GraphNodeRegExp host) {
    out.println("after GraphNodeRegExp");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_classnameprefix(GraphNodeRegExp source, ClassNamePrefix dest) {
    out.println("before -> GraphNodeRegExp, classnameprefix, ClassNamePrefix ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_classnameprefix(GraphNodeRegExp source, ClassNamePrefix dest) {
    out.println("after -> GraphNodeRegExp, classnameprefix, ClassNamePrefix ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_wildcard(GraphNodeRegExp source, WildCard dest) {
    out.println("before -> GraphNodeRegExp, wildcard, WildCard ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_wildcard(GraphNodeRegExp source, WildCard dest) {
    out.println("after -> GraphNodeRegExp, wildcard, WildCard ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(WildCard host) {
    out.println("before WildCard");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(WildCard host) {
    out.println("after WildCard");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(AspectName host) {
    out.println("before AspectName");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(AspectName host) {
    out.println("after AspectName");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_ident(AspectName source, Ident dest) {
    out.println("before -> AspectName, ident, Ident ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_ident(AspectName source, Ident dest) {
    out.println("after -> AspectName, ident, Ident ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(ClassNamePrefix host) {
    out.println("before ClassNamePrefix");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(ClassNamePrefix host) {
    out.println("after ClassNamePrefix");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_ident(ClassNamePrefix source, Ident dest) {
    out.println("before -> ClassNamePrefix, ident, Ident ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_ident(ClassNamePrefix source, Ident dest) {
    out.println("after -> ClassNamePrefix, ident, Ident ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(DecName host) {
    out.println("before DecName");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(DecName host) {
    out.println("after DecName");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_ident(DecName source, Ident dest) {
    out.println("before -> DecName, ident, Ident ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_ident(DecName source, Ident dest) {
    out.println("after -> DecName, ident, Ident ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(CDBody host) {
    out.println("before CDBody");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(CDBody host) {
    out.println("after CDBody");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_text(CDBody source, Text dest) {
    out.println("before -> CDBody, text, Text ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_text(CDBody source, Text dest) {
    out.println("after -> CDBody, text, Text ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Regexp host) {
    out.println("before Regexp");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Regexp host) {
    out.println("after Regexp");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Aspects host) {
    out.println("before Aspects");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Aspects host) {
    out.println("after Aspects");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_aspect_list(Aspects source, Aspect_List dest) {
    out.println("before -> Aspects, aspect_list, Aspect_List ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_aspect_list(Aspects source, Aspect_List dest) {
    out.println("after -> Aspects, aspect_list, Aspect_List ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(TVDeclarations host) {
    out.println("before TVDeclarations");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(TVDeclarations host) {
    out.println("after TVDeclarations");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_tvdeclaration_list(TVDeclarations source, TVDeclaration_List dest) {
    out.println("before -> TVDeclarations, tvdeclaration_list, TVDeclaration_List ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_tvdeclaration_list(TVDeclarations source, TVDeclaration_List dest) {
    out.println("after -> TVDeclarations, tvdeclaration_list, TVDeclaration_List ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Main host) {
    out.println("before Main");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Main host) {
    out.println("after Main");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(StrategyExpression host) {
    out.println("before StrategyExpression");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(StrategyExpression host) {
    out.println("after StrategyExpression");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_strategy(StrategyExpression source, Strategy dest) {
    out.println("before -> StrategyExpression, strategy, Strategy ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_strategy(StrategyExpression source, Strategy dest) {
    out.println("after -> StrategyExpression, strategy, Strategy ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Strategy host) {
    out.println("before Strategy");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Strategy host) {
    out.println("after Strategy");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(SimpleStrategy host) {
    out.println("before SimpleStrategy");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(SimpleStrategy host) {
    out.println("after SimpleStrategy");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_parsedNameMap(SimpleStrategy source, NameMap dest) {
    out.println("before -> SimpleStrategy, parsedNameMap, NameMap ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_parsedNameMap(SimpleStrategy source, NameMap dest) {
    out.println("after -> SimpleStrategy, parsedNameMap, NameMap ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(StrategyGraph host) {
    out.println("before StrategyGraph");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(StrategyGraph host) {
    out.println("after StrategyGraph");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_edges(StrategyGraph source, SGEdge_SList dest) {
    out.println("before -> StrategyGraph, edges, SGEdge_SList ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_edges(StrategyGraph source, SGEdge_SList dest) {
    out.println("after -> StrategyGraph, edges, SGEdge_SList ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(SGEdge host) {
    out.println("before SGEdge");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(SGEdge host) {
    out.println("after SGEdge");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_sourcemarker(SGEdge source, SourceMarker dest) {
    out.println("before -> SGEdge, sourcemarker, SourceMarker ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_sourcemarker(SGEdge source, SourceMarker dest) {
    out.println("after -> SGEdge, sourcemarker, SourceMarker ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_source(SGEdge source, GlobSpec dest) {
    out.println("before -> SGEdge, source, GlobSpec ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_source(SGEdge source, GlobSpec dest) {
    out.println("after -> SGEdge, source, GlobSpec ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_targetmarker(SGEdge source, TargetMarker dest) {
    out.println("before -> SGEdge, targetmarker, TargetMarker ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_targetmarker(SGEdge source, TargetMarker dest) {
    out.println("after -> SGEdge, targetmarker, TargetMarker ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_target(SGEdge source, GlobSpec dest) {
    out.println("before -> SGEdge, target, GlobSpec ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_target(SGEdge source, GlobSpec dest) {
    out.println("after -> SGEdge, target, GlobSpec ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_constraint(SGEdge source, NegativeConstraint dest) {
    out.println("before -> SGEdge, constraint, NegativeConstraint ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_constraint(SGEdge source, NegativeConstraint dest) {
    out.println("after -> SGEdge, constraint, NegativeConstraint ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(SourceMarker host) {
    out.println("before SourceMarker");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(SourceMarker host) {
    out.println("after SourceMarker");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(TargetMarker host) {
    out.println("before TargetMarker");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(TargetMarker host) {
    out.println("after TargetMarker");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(PathDirective host) {
    out.println("before PathDirective");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(PathDirective host) {
    out.println("after PathDirective");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_source(PathDirective source, SourceDirective dest) {
    out.println("before -> PathDirective, source, SourceDirective ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_source(PathDirective source, SourceDirective dest) {
    out.println("after -> PathDirective, source, SourceDirective ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_constraint(PathDirective source, NegativeConstraint dest) {
    out.println("before -> PathDirective, constraint, NegativeConstraint ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_constraint(PathDirective source, NegativeConstraint dest) {
    out.println("after -> PathDirective, constraint, NegativeConstraint ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_segments(PathDirective source, PathSegment_List dest) {
    out.println("before -> PathDirective, segments, PathSegment_List ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_segments(PathDirective source, PathSegment_List dest) {
    out.println("after -> PathDirective, segments, PathSegment_List ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_target(PathDirective source, TargetDirective dest) {
    out.println("before -> PathDirective, target, TargetDirective ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_target(PathDirective source, TargetDirective dest) {
    out.println("after -> PathDirective, target, TargetDirective ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(SourceDirective host) {
    out.println("before SourceDirective");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(SourceDirective host) {
    out.println("after SourceDirective");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_sources(SourceDirective source, ClassGlobSpec dest) {
    out.println("before -> SourceDirective, sources, ClassGlobSpec ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_sources(SourceDirective source, ClassGlobSpec dest) {
    out.println("after -> SourceDirective, sources, ClassGlobSpec ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(From host) {
    out.println("before From");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(From host) {
    out.println("after From");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(PathSegment host) {
    out.println("before PathSegment");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(PathSegment host) {
    out.println("after PathSegment");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_node(PathSegment source, PositiveConstraint dest) {
    out.println("before -> PathSegment, node, PositiveConstraint ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_node(PathSegment source, PositiveConstraint dest) {
    out.println("after -> PathSegment, node, PositiveConstraint ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_constraint(PathSegment source, NegativeConstraint dest) {
    out.println("before -> PathSegment, constraint, NegativeConstraint ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_constraint(PathSegment source, NegativeConstraint dest) {
    out.println("after -> PathSegment, constraint, NegativeConstraint ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Constraint host) {
    out.println("before Constraint");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Constraint host) {
    out.println("after Constraint");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_glob(Constraint source, GlobSpec dest) {
    out.println("before -> Constraint, glob, GlobSpec ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_glob(Constraint source, GlobSpec dest) {
    out.println("after -> Constraint, glob, GlobSpec ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(PositiveConstraint host) {
    out.println("before PositiveConstraint");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(PositiveConstraint host) {
    out.println("after PositiveConstraint");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Through host) {
    out.println("before Through");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Through host) {
    out.println("after Through");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Via host) {
    out.println("before Via");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Via host) {
    out.println("after Via");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(NegativeConstraint host) {
    out.println("before NegativeConstraint");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(NegativeConstraint host) {
    out.println("after NegativeConstraint");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Bypassing host) {
    out.println("before Bypassing");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Bypassing host) {
    out.println("after Bypassing");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(OnlyThrough host) {
    out.println("before OnlyThrough");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(OnlyThrough host) {
    out.println("after OnlyThrough");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(TargetDirective host) {
    out.println("before TargetDirective");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(TargetDirective host) {
    out.println("after TargetDirective");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_targets(TargetDirective source, ClassGlobSpec dest) {
    out.println("before -> TargetDirective, targets, ClassGlobSpec ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_targets(TargetDirective source, ClassGlobSpec dest) {
    out.println("after -> TargetDirective, targets, ClassGlobSpec ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(To host) {
    out.println("before To");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(To host) {
    out.println("after To");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(ToStop host) {
    out.println("before ToStop");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(ToStop host) {
    out.println("after ToStop");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(StrategyCombination host) {
    out.println("before StrategyCombination");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(StrategyCombination host) {
    out.println("after StrategyCombination");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_first(StrategyCombination source, Strategy dest) {
    out.println("before -> StrategyCombination, first, Strategy ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_first(StrategyCombination source, Strategy dest) {
    out.println("after -> StrategyCombination, first, Strategy ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_rest(StrategyCombination source, Strategy_Commalist dest) {
    out.println("before -> StrategyCombination, rest, Strategy_Commalist ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_rest(StrategyCombination source, Strategy_Commalist dest) {
    out.println("after -> StrategyCombination, rest, Strategy_Commalist ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Join host) {
    out.println("before Join");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Join host) {
    out.println("after Join");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Merge host) {
    out.println("before Merge");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Merge host) {
    out.println("after Merge");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Intersect host) {
    out.println("before Intersect");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Intersect host) {
    out.println("after Intersect");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(StrategyReference host) {
    out.println("before StrategyReference");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(StrategyReference host) {
    out.println("after StrategyReference");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_ident(StrategyReference source, Ident dest) {
    out.println("before -> StrategyReference, ident, Ident ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_ident(StrategyReference source, Ident dest) {
    out.println("after -> StrategyReference, ident, Ident ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(SymbolicNameMap host) {
    out.println("before SymbolicNameMap");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(SymbolicNameMap host) {
    out.println("after SymbolicNameMap");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(NameMap host) {
    out.println("before NameMap");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(NameMap host) {
    out.println("after NameMap");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_bindings(NameMap source, NameBinding_Commalist dest) {
    out.println("before -> NameMap, bindings, NameBinding_Commalist ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_bindings(NameMap source, NameBinding_Commalist dest) {
    out.println("after -> NameMap, bindings, NameBinding_Commalist ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(NameBinding host) {
    out.println("before NameBinding");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(NameBinding host) {
    out.println("after NameBinding");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_sgName(NameBinding source, Name dest) {
    out.println("before -> NameBinding, sgName, Name ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_sgName(NameBinding source, Name dest) {
    out.println("after -> NameBinding, sgName, Name ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_cgNames(NameBinding source, ClassGlobSpec dest) {
    out.println("before -> NameBinding, cgNames, ClassGlobSpec ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_cgNames(NameBinding source, ClassGlobSpec dest) {
    out.println("after -> NameBinding, cgNames, ClassGlobSpec ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(GlobSpec host) {
    out.println("before GlobSpec");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(GlobSpec host) {
    out.println("after GlobSpec");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(OneGlob host) {
    out.println("before OneGlob");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(OneGlob host) {
    out.println("after OneGlob");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_glob(OneGlob source, Glob dest) {
    out.println("before -> OneGlob, glob, Glob ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_glob(OneGlob source, Glob dest) {
    out.println("after -> OneGlob, glob, Glob ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(GlobSet host) {
    out.println("before GlobSet");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(GlobSet host) {
    out.println("after GlobSet");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_globs(GlobSet source, Glob_Commalist dest) {
    out.println("before -> GlobSet, globs, Glob_Commalist ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_globs(GlobSet source, Glob_Commalist dest) {
    out.println("after -> GlobSet, globs, Glob_Commalist ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Glob host) {
    out.println("before Glob");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Glob host) {
    out.println("after Glob");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(EdgeGlob host) {
    out.println("before EdgeGlob");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(EdgeGlob host) {
    out.println("after EdgeGlob");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(ClassGlob host) {
    out.println("before ClassGlob");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(ClassGlob host) {
    out.println("after ClassGlob");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_name(ClassGlob source, ClassNameGlob dest) {
    out.println("before -> ClassGlob, name, ClassNameGlob ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_name(ClassGlob source, ClassNameGlob dest) {
    out.println("after -> ClassGlob, name, ClassNameGlob ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(PartGlob host) {
    out.println("before PartGlob");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(PartGlob host) {
    out.println("after PartGlob");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_source(PartGlob source, SourceGlob dest) {
    out.println("before -> PartGlob, source, SourceGlob ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_source(PartGlob source, SourceGlob dest) {
    out.println("after -> PartGlob, source, SourceGlob ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_name(PartGlob source, PartNameGlob dest) {
    out.println("before -> PartGlob, name, PartNameGlob ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_name(PartGlob source, PartNameGlob dest) {
    out.println("after -> PartGlob, name, PartNameGlob ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_target(PartGlob source, TargetGlob dest) {
    out.println("before -> PartGlob, target, TargetGlob ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_target(PartGlob source, TargetGlob dest) {
    out.println("after -> PartGlob, target, TargetGlob ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(SubclassGlob host) {
    out.println("before SubclassGlob");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(SubclassGlob host) {
    out.println("after SubclassGlob");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_source(SubclassGlob source, SourceGlob dest) {
    out.println("before -> SubclassGlob, source, SourceGlob ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_source(SubclassGlob source, SourceGlob dest) {
    out.println("after -> SubclassGlob, source, SourceGlob ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_target(SubclassGlob source, TargetGlob dest) {
    out.println("before -> SubclassGlob, target, TargetGlob ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_target(SubclassGlob source, TargetGlob dest) {
    out.println("after -> SubclassGlob, target, TargetGlob ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(SuperclassGlob host) {
    out.println("before SuperclassGlob");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(SuperclassGlob host) {
    out.println("after SuperclassGlob");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_source(SuperclassGlob source, SourceGlob dest) {
    out.println("before -> SuperclassGlob, source, SourceGlob ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_source(SuperclassGlob source, SourceGlob dest) {
    out.println("after -> SuperclassGlob, source, SourceGlob ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_target(SuperclassGlob source, TargetGlob dest) {
    out.println("before -> SuperclassGlob, target, TargetGlob ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_target(SuperclassGlob source, TargetGlob dest) {
    out.println("after -> SuperclassGlob, target, TargetGlob ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(SourceGlob host) {
    out.println("before SourceGlob");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(SourceGlob host) {
    out.println("after SourceGlob");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_name(SourceGlob source, ClassNameGlob dest) {
    out.println("before -> SourceGlob, name, ClassNameGlob ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_name(SourceGlob source, ClassNameGlob dest) {
    out.println("after -> SourceGlob, name, ClassNameGlob ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(TargetGlob host) {
    out.println("before TargetGlob");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(TargetGlob host) {
    out.println("after TargetGlob");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_name(TargetGlob source, ClassNameGlob dest) {
    out.println("before -> TargetGlob, name, ClassNameGlob ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_name(TargetGlob source, ClassNameGlob dest) {
    out.println("after -> TargetGlob, name, ClassNameGlob ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(ClassNameGlob host) {
    out.println("before ClassNameGlob");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(ClassNameGlob host) {
    out.println("after ClassNameGlob");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(ClassNameExact host) {
    out.println("before ClassNameExact");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(ClassNameExact host) {
    out.println("after ClassNameExact");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_classname(ClassNameExact source, ClassName dest) {
    out.println("before -> ClassNameExact, classname, ClassName ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_classname(ClassNameExact source, ClassName dest) {
    out.println("after -> ClassNameExact, classname, ClassName ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(AnyClass host) {
    out.println("before AnyClass");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(AnyClass host) {
    out.println("after AnyClass");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(PartNameGlob host) {
    out.println("before PartNameGlob");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(PartNameGlob host) {
    out.println("after PartNameGlob");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(PartNameExact host) {
    out.println("before PartNameExact");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(PartNameExact host) {
    out.println("after PartNameExact");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_partname(PartNameExact source, PartName dest) {
    out.println("before -> PartNameExact, partname, PartName ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_partname(PartNameExact source, PartName dest) {
    out.println("after -> PartNameExact, partname, PartName ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(AnyPart host) {
    out.println("before AnyPart");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(AnyPart host) {
    out.println("after AnyPart");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(ClassGlobSpec host) {
    out.println("before ClassGlobSpec");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(ClassGlobSpec host) {
    out.println("after ClassGlobSpec");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(OneClassGlob host) {
    out.println("before OneClassGlob");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(OneClassGlob host) {
    out.println("after OneClassGlob");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_classglob(OneClassGlob source, ClassGlob dest) {
    out.println("before -> OneClassGlob, classglob, ClassGlob ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_classglob(OneClassGlob source, ClassGlob dest) {
    out.println("after -> OneClassGlob, classglob, ClassGlob ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(ClassGlobSet host) {
    out.println("before ClassGlobSet");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(ClassGlobSet host) {
    out.println("after ClassGlobSet");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_globs(ClassGlobSet source, ClassGlob_Commalist dest) {
    out.println("before -> ClassGlobSet, globs, ClassGlob_Commalist ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_globs(ClassGlobSet source, ClassGlob_Commalist dest) {
    out.println("after -> ClassGlobSet, globs, ClassGlob_Commalist ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(ClassName host) {
    out.println("before ClassName");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(ClassName host) {
    out.println("after ClassName");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_name(ClassName source, Name dest) {
    out.println("before -> ClassName, name, Name ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_name(ClassName source, Name dest) {
    out.println("after -> ClassName, name, Name ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(PartName host) {
    out.println("before PartName");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(PartName host) {
    out.println("after PartName");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_name(PartName source, Ident dest) {
    out.println("before -> PartName, name, Ident ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_name(PartName source, Ident dest) {
    out.println("after -> PartName, name, Ident ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Name host) {
    out.println("before Name");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Name host) {
    out.println("after Name");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_first(Name source, Nonempty_Name dest) {
    out.println("before -> Name, first, Nonempty_Name ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_first(Name source, Nonempty_Name dest) {
    out.println("after -> Name, first, Nonempty_Name ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(GlobVisitor host) {
    out.println("before GlobVisitor");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(GlobVisitor host) {
    out.println("after GlobVisitor");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(PrintVisitor host) {
    out.println("before PrintVisitor");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(PrintVisitor host) {
    out.println("after PrintVisitor");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_indent(PrintVisitor source, int dest) {
    out.println("before -> PrintVisitor, indent, int ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_indent(PrintVisitor source, int dest) {
    out.println("after -> PrintVisitor, indent, int ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_needSpace(PrintVisitor source, boolean dest) {
    out.println("before -> PrintVisitor, needSpace, boolean ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_needSpace(PrintVisitor source, boolean dest) {
    out.println("after -> PrintVisitor, needSpace, boolean ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(CopyVisitor host) {
    out.println("before CopyVisitor");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(CopyVisitor host) {
    out.println("after CopyVisitor");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_copy(CopyVisitor source, Object dest) {
    out.println("before -> CopyVisitor, copy, Object ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_copy(CopyVisitor source, Object dest) {
    out.println("after -> CopyVisitor, copy, Object ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(SubgraphVisitor host) {
    out.println("before SubgraphVisitor");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(SubgraphVisitor host) {
    out.println("after SubgraphVisitor");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_is_equal(SubgraphVisitor source, boolean dest) {
    out.println("before -> SubgraphVisitor, is_equal, boolean ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_is_equal(SubgraphVisitor source, boolean dest) {
    out.println("after -> SubgraphVisitor, is_equal, boolean ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(EqualVisitor host) {
    out.println("before EqualVisitor");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(EqualVisitor host) {
    out.println("after EqualVisitor");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_is_equal(EqualVisitor source, boolean dest) {
    out.println("before -> EqualVisitor, is_equal, boolean ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_is_equal(EqualVisitor source, boolean dest) {
    out.println("after -> EqualVisitor, is_equal, boolean ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(DisplayVisitor host) {
    out.println("before DisplayVisitor");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(DisplayVisitor host) {
    out.println("after DisplayVisitor");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_indent(DisplayVisitor source, int dest) {
    out.println("before -> DisplayVisitor, indent, int ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_indent(DisplayVisitor source, int dest) {
    out.println("after -> DisplayVisitor, indent, int ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(TraceVisitor host) {
    out.println("before TraceVisitor");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(TraceVisitor host) {
    out.println("after TraceVisitor");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_indent(TraceVisitor source, int dest) {
    out.println("before -> TraceVisitor, indent, int ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_indent(TraceVisitor source, int dest) {
    out.println("after -> TraceVisitor, indent, int ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(UniversalVisitor host) {
    out.println("before UniversalVisitor");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(UniversalVisitor host) {
    out.println("after UniversalVisitor");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(DecNodeSetBody_PCList host) {
    out.println("before DecNodeSetBody_PCList");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(DecNodeSetBody_PCList host) {
    out.println("after DecNodeSetBody_PCList");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_first(DecNodeSetBody_PCList source, Nonempty_DecNodeSetBody_PCList dest) {
    out.println("before -> DecNodeSetBody_PCList, first, Nonempty_DecNodeSetBody_PCList ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_first(DecNodeSetBody_PCList source, Nonempty_DecNodeSetBody_PCList dest) {
    out.println("after -> DecNodeSetBody_PCList, first, Nonempty_DecNodeSetBody_PCList ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(ClassName_BCList host) {
    out.println("before ClassName_BCList");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(ClassName_BCList host) {
    out.println("after ClassName_BCList");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_first(ClassName_BCList source, Nonempty_ClassName_BCList dest) {
    out.println("before -> ClassName_BCList, first, Nonempty_ClassName_BCList ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_first(ClassName_BCList source, Nonempty_ClassName_BCList dest) {
    out.println("after -> ClassName_BCList, first, Nonempty_ClassName_BCList ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Aspect_List host) {
    out.println("before Aspect_List");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Aspect_List host) {
    out.println("after Aspect_List");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_first(Aspect_List source, Nonempty_Aspect_List dest) {
    out.println("before -> Aspect_List, first, Nonempty_Aspect_List ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_first(Aspect_List source, Nonempty_Aspect_List dest) {
    out.println("after -> Aspect_List, first, Nonempty_Aspect_List ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(TVDeclaration_List host) {
    out.println("before TVDeclaration_List");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(TVDeclaration_List host) {
    out.println("after TVDeclaration_List");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_first(TVDeclaration_List source, Nonempty_TVDeclaration_List dest) {
    out.println("before -> TVDeclaration_List, first, Nonempty_TVDeclaration_List ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_first(TVDeclaration_List source, Nonempty_TVDeclaration_List dest) {
    out.println("after -> TVDeclaration_List, first, Nonempty_TVDeclaration_List ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(SGEdge_SList host) {
    out.println("before SGEdge_SList");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(SGEdge_SList host) {
    out.println("after SGEdge_SList");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_first(SGEdge_SList source, Nonempty_SGEdge_SList dest) {
    out.println("before -> SGEdge_SList, first, Nonempty_SGEdge_SList ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_first(SGEdge_SList source, Nonempty_SGEdge_SList dest) {
    out.println("after -> SGEdge_SList, first, Nonempty_SGEdge_SList ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(PathSegment_List host) {
    out.println("before PathSegment_List");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(PathSegment_List host) {
    out.println("after PathSegment_List");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_first(PathSegment_List source, Nonempty_PathSegment_List dest) {
    out.println("before -> PathSegment_List, first, Nonempty_PathSegment_List ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_first(PathSegment_List source, Nonempty_PathSegment_List dest) {
    out.println("after -> PathSegment_List, first, Nonempty_PathSegment_List ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Strategy_Commalist host) {
    out.println("before Strategy_Commalist");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Strategy_Commalist host) {
    out.println("after Strategy_Commalist");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_first(Strategy_Commalist source, Nonempty_Strategy_Commalist dest) {
    out.println("before -> Strategy_Commalist, first, Nonempty_Strategy_Commalist ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_first(Strategy_Commalist source, Nonempty_Strategy_Commalist dest) {
    out.println("after -> Strategy_Commalist, first, Nonempty_Strategy_Commalist ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(NameBinding_Commalist host) {
    out.println("before NameBinding_Commalist");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(NameBinding_Commalist host) {
    out.println("after NameBinding_Commalist");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_first(NameBinding_Commalist source, Nonempty_NameBinding_Commalist dest) {
    out.println("before -> NameBinding_Commalist, first, Nonempty_NameBinding_Commalist ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_first(NameBinding_Commalist source, Nonempty_NameBinding_Commalist dest) {
    out.println("after -> NameBinding_Commalist, first, Nonempty_NameBinding_Commalist ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Glob_Commalist host) {
    out.println("before Glob_Commalist");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Glob_Commalist host) {
    out.println("after Glob_Commalist");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_first(Glob_Commalist source, Nonempty_Glob_Commalist dest) {
    out.println("before -> Glob_Commalist, first, Nonempty_Glob_Commalist ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_first(Glob_Commalist source, Nonempty_Glob_Commalist dest) {
    out.println("after -> Glob_Commalist, first, Nonempty_Glob_Commalist ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(ClassGlob_Commalist host) {
    out.println("before ClassGlob_Commalist");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(ClassGlob_Commalist host) {
    out.println("after ClassGlob_Commalist");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_first(ClassGlob_Commalist source, Nonempty_ClassGlob_Commalist dest) {
    out.println("before -> ClassGlob_Commalist, first, Nonempty_ClassGlob_Commalist ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_first(ClassGlob_Commalist source, Nonempty_ClassGlob_Commalist dest) {
    out.println("after -> ClassGlob_Commalist, first, Nonempty_ClassGlob_Commalist ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Nonempty_Name host) {
    out.println("before Nonempty_Name");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Nonempty_Name host) {
    out.println("after Nonempty_Name");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_it(Nonempty_Name source, Ident dest) {
    out.println("before -> Nonempty_Name, it, Ident ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_it(Nonempty_Name source, Ident dest) {
    out.println("after -> Nonempty_Name, it, Ident ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_next(Nonempty_Name source, Nonempty_Name dest) {
    out.println("before -> Nonempty_Name, next, Nonempty_Name ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_next(Nonempty_Name source, Nonempty_Name dest) {
    out.println("after -> Nonempty_Name, next, Nonempty_Name ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Nonempty_DecNodeSetBody_PCList host) {
    out.println("before Nonempty_DecNodeSetBody_PCList");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Nonempty_DecNodeSetBody_PCList host) {
    out.println("after Nonempty_DecNodeSetBody_PCList");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_it(Nonempty_DecNodeSetBody_PCList source, DecNodeSetBody dest) {
    out.println("before -> Nonempty_DecNodeSetBody_PCList, it, DecNodeSetBody ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_it(Nonempty_DecNodeSetBody_PCList source, DecNodeSetBody dest) {
    out.println("after -> Nonempty_DecNodeSetBody_PCList, it, DecNodeSetBody ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_next(Nonempty_DecNodeSetBody_PCList source, Nonempty_DecNodeSetBody_PCList dest) {
    out.println("before -> Nonempty_DecNodeSetBody_PCList, next, Nonempty_DecNodeSetBody_PCList ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_next(Nonempty_DecNodeSetBody_PCList source, Nonempty_DecNodeSetBody_PCList dest) {
    out.println("after -> Nonempty_DecNodeSetBody_PCList, next, Nonempty_DecNodeSetBody_PCList ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Nonempty_ClassName_BCList host) {
    out.println("before Nonempty_ClassName_BCList");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Nonempty_ClassName_BCList host) {
    out.println("after Nonempty_ClassName_BCList");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_it(Nonempty_ClassName_BCList source, ClassName dest) {
    out.println("before -> Nonempty_ClassName_BCList, it, ClassName ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_it(Nonempty_ClassName_BCList source, ClassName dest) {
    out.println("after -> Nonempty_ClassName_BCList, it, ClassName ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_next(Nonempty_ClassName_BCList source, Nonempty_ClassName_BCList dest) {
    out.println("before -> Nonempty_ClassName_BCList, next, Nonempty_ClassName_BCList ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_next(Nonempty_ClassName_BCList source, Nonempty_ClassName_BCList dest) {
    out.println("after -> Nonempty_ClassName_BCList, next, Nonempty_ClassName_BCList ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Nonempty_Aspect_List host) {
    out.println("before Nonempty_Aspect_List");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Nonempty_Aspect_List host) {
    out.println("after Nonempty_Aspect_List");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_it(Nonempty_Aspect_List source, Aspect dest) {
    out.println("before -> Nonempty_Aspect_List, it, Aspect ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_it(Nonempty_Aspect_List source, Aspect dest) {
    out.println("after -> Nonempty_Aspect_List, it, Aspect ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_next(Nonempty_Aspect_List source, Nonempty_Aspect_List dest) {
    out.println("before -> Nonempty_Aspect_List, next, Nonempty_Aspect_List ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_next(Nonempty_Aspect_List source, Nonempty_Aspect_List dest) {
    out.println("after -> Nonempty_Aspect_List, next, Nonempty_Aspect_List ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Nonempty_TVDeclaration_List host) {
    out.println("before Nonempty_TVDeclaration_List");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Nonempty_TVDeclaration_List host) {
    out.println("after Nonempty_TVDeclaration_List");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_it(Nonempty_TVDeclaration_List source, TVDeclaration dest) {
    out.println("before -> Nonempty_TVDeclaration_List, it, TVDeclaration ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_it(Nonempty_TVDeclaration_List source, TVDeclaration dest) {
    out.println("after -> Nonempty_TVDeclaration_List, it, TVDeclaration ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_next(Nonempty_TVDeclaration_List source, Nonempty_TVDeclaration_List dest) {
    out.println("before -> Nonempty_TVDeclaration_List, next, Nonempty_TVDeclaration_List ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_next(Nonempty_TVDeclaration_List source, Nonempty_TVDeclaration_List dest) {
    out.println("after -> Nonempty_TVDeclaration_List, next, Nonempty_TVDeclaration_List ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Nonempty_SGEdge_SList host) {
    out.println("before Nonempty_SGEdge_SList");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Nonempty_SGEdge_SList host) {
    out.println("after Nonempty_SGEdge_SList");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_it(Nonempty_SGEdge_SList source, SGEdge dest) {
    out.println("before -> Nonempty_SGEdge_SList, it, SGEdge ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_it(Nonempty_SGEdge_SList source, SGEdge dest) {
    out.println("after -> Nonempty_SGEdge_SList, it, SGEdge ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_next(Nonempty_SGEdge_SList source, Nonempty_SGEdge_SList dest) {
    out.println("before -> Nonempty_SGEdge_SList, next, Nonempty_SGEdge_SList ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_next(Nonempty_SGEdge_SList source, Nonempty_SGEdge_SList dest) {
    out.println("after -> Nonempty_SGEdge_SList, next, Nonempty_SGEdge_SList ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Nonempty_PathSegment_List host) {
    out.println("before Nonempty_PathSegment_List");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Nonempty_PathSegment_List host) {
    out.println("after Nonempty_PathSegment_List");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_it(Nonempty_PathSegment_List source, PathSegment dest) {
    out.println("before -> Nonempty_PathSegment_List, it, PathSegment ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_it(Nonempty_PathSegment_List source, PathSegment dest) {
    out.println("after -> Nonempty_PathSegment_List, it, PathSegment ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_next(Nonempty_PathSegment_List source, Nonempty_PathSegment_List dest) {
    out.println("before -> Nonempty_PathSegment_List, next, Nonempty_PathSegment_List ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_next(Nonempty_PathSegment_List source, Nonempty_PathSegment_List dest) {
    out.println("after -> Nonempty_PathSegment_List, next, Nonempty_PathSegment_List ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Nonempty_Strategy_Commalist host) {
    out.println("before Nonempty_Strategy_Commalist");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Nonempty_Strategy_Commalist host) {
    out.println("after Nonempty_Strategy_Commalist");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_it(Nonempty_Strategy_Commalist source, Strategy dest) {
    out.println("before -> Nonempty_Strategy_Commalist, it, Strategy ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_it(Nonempty_Strategy_Commalist source, Strategy dest) {
    out.println("after -> Nonempty_Strategy_Commalist, it, Strategy ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_next(Nonempty_Strategy_Commalist source, Nonempty_Strategy_Commalist dest) {
    out.println("before -> Nonempty_Strategy_Commalist, next, Nonempty_Strategy_Commalist ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_next(Nonempty_Strategy_Commalist source, Nonempty_Strategy_Commalist dest) {
    out.println("after -> Nonempty_Strategy_Commalist, next, Nonempty_Strategy_Commalist ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Nonempty_NameBinding_Commalist host) {
    out.println("before Nonempty_NameBinding_Commalist");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Nonempty_NameBinding_Commalist host) {
    out.println("after Nonempty_NameBinding_Commalist");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_it(Nonempty_NameBinding_Commalist source, NameBinding dest) {
    out.println("before -> Nonempty_NameBinding_Commalist, it, NameBinding ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_it(Nonempty_NameBinding_Commalist source, NameBinding dest) {
    out.println("after -> Nonempty_NameBinding_Commalist, it, NameBinding ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_next(Nonempty_NameBinding_Commalist source, Nonempty_NameBinding_Commalist dest) {
    out.println("before -> Nonempty_NameBinding_Commalist, next, Nonempty_NameBinding_Commalist ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_next(Nonempty_NameBinding_Commalist source, Nonempty_NameBinding_Commalist dest) {
    out.println("after -> Nonempty_NameBinding_Commalist, next, Nonempty_NameBinding_Commalist ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Nonempty_Glob_Commalist host) {
    out.println("before Nonempty_Glob_Commalist");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Nonempty_Glob_Commalist host) {
    out.println("after Nonempty_Glob_Commalist");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_it(Nonempty_Glob_Commalist source, Glob dest) {
    out.println("before -> Nonempty_Glob_Commalist, it, Glob ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_it(Nonempty_Glob_Commalist source, Glob dest) {
    out.println("after -> Nonempty_Glob_Commalist, it, Glob ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_next(Nonempty_Glob_Commalist source, Nonempty_Glob_Commalist dest) {
    out.println("before -> Nonempty_Glob_Commalist, next, Nonempty_Glob_Commalist ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_next(Nonempty_Glob_Commalist source, Nonempty_Glob_Commalist dest) {
    out.println("after -> Nonempty_Glob_Commalist, next, Nonempty_Glob_Commalist ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before(Nonempty_ClassGlob_Commalist host) {
    out.println("before Nonempty_ClassGlob_Commalist");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after(Nonempty_ClassGlob_Commalist host) {
    out.println("after Nonempty_ClassGlob_Commalist");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_it(Nonempty_ClassGlob_Commalist source, ClassGlob dest) {
    out.println("before -> Nonempty_ClassGlob_Commalist, it, ClassGlob ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_it(Nonempty_ClassGlob_Commalist source, ClassGlob dest) {
    out.println("after -> Nonempty_ClassGlob_Commalist, it, ClassGlob ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void before_next(Nonempty_ClassGlob_Commalist source, Nonempty_ClassGlob_Commalist dest) {
    out.println("before -> Nonempty_ClassGlob_Commalist, next, Nonempty_ClassGlob_Commalist ");
    indent++;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  public void after_next(Nonempty_ClassGlob_Commalist source, Nonempty_ClassGlob_Commalist dest) {
    out.println("after -> Nonempty_ClassGlob_Commalist, next, Nonempty_ClassGlob_Commalist ");
    indent--;
    for (int i = 0; i < indent; i++) out.print(" ");
  }
  void universal_trv0_bef(UniversalVisitor _v_) {
    super.universal_trv0_bef(_v_);
  }

  void universal_trv0_aft(UniversalVisitor _v_) {
    super.universal_trv0_aft(_v_);
  }

  void universal_trv0(UniversalVisitor _v_) {
    universal_trv0_bef(_v_);
    super.universal_trv0(_v_);
    universal_trv0_aft(_v_);
  }

}
