in src/main/groovy/astbuilder/MainTransformation.groovy [43:57]
void visit(ASTNode[] astNodes, SourceUnit sourceUnit) {
// use guard clauses as a form of defensive programming.
if (!astNodes) return
if (!astNodes[0]) return
if (!astNodes[1]) return
if (!(astNodes[0] instanceof AnnotationNode)) return
if (astNodes[0].classNode?.name != Main.class.name) return
if (!(astNodes[1] instanceof MethodNode)) return
MethodNode annotatedMethod = astNodes[1]
ClassNode declaringClass = annotatedMethod.declaringClass
MethodNode mainMethod = makeMainMethod(annotatedMethod)
declaringClass.addMethod(mainMethod)
}