method name refactorings; visitor.done(), visitor.after(); throw Error on cycles