@Override public JCTree visitMethodDecl(final lombok.ast.MethodDecl node, final Void p) { final JCModifiers mods = setGeneratedBy( M(node) .Modifiers( flagsFor(node.getModifiers()), build(node.getAnnotations(), JCAnnotation.class)), source); final JCExpression restype = build(node.getReturnType()); final List<JCTypeParameter> typarams = build(node.getTypeParameters()); final List<JCVariableDecl> params = build(node.getArguments()); final List<JCExpression> thrown = build(node.getThrownExceptions()); JCBlock body = null; if (!node.noBody() && ((mods.flags & Flags.ABSTRACT) == 0)) { body = setGeneratedBy(M(node).Block(0, build(node.getStatements(), JCStatement.class)), source); } final JCMethodDecl method = setGeneratedBy( M(node) .MethodDef( mods, name(node.getName()), restype, typarams, params, thrown, body, null), source); return method; }