 
	import java.io.*;
	import java.util.*;
	import demeter.*;
	import java.lang.*;


import demeter.*;
class AppendVisitor implements Cloneable {
  private Names names;
  public Names get_names() { return names; }
  public void set_names(Names new_names)
    { names = new_names; }
  AppendVisitor() { }
  public AppendVisitor(Names names) {
    super();
    set_names(names);
  }
  public static AppendVisitor parse(java.io.InputStream in) throws ParseError
    { return new Parser(in)._AppendVisitor(); }
  public static AppendVisitor parse(String str) throws ParseError
    { return parse(new java.io.StringBufferInputStream(str)); }
  public void before(Object source, String edge, Object dest) {
		this.get_names().addElement("b_CE");
        }
  public void after(Object source, String edge, Object dest) {
                this.get_names().addElement("a_CE");
        }
  public void before(Root host) {
                this.get_names().addElement("b" + host.get_className()); 
        }
  public void before(Last_SubClass host) {
                this.get_names().addElement("b" + host.get_className()); 
        }
  public void after(Root host) {
                this.get_names().addElement("a" + host.get_className());
        }
  public void after(Last_SubClass host) {
                this.get_names().addElement("a" + host.get_className());
        }
}

