These classes wrap the AST in code that hides the AST details. They should also
be general enough to support both sources of Java: code (.java files) and
classes (.class files).
