private void process(ASTNode[] nodes, final ClassCodeVisitorSupport visitor) { candidate = (AnnotatedNode) nodes[1]; AnnotationNode node = (AnnotationNode) nodes[0]; if (!MY_TYPE.equals(node.getClassNode())) return; if (candidate instanceof ClassNode) { processClass((ClassNode) candidate, visitor); } else if (candidate instanceof MethodNode) { processConstructorOrMethod((MethodNode) candidate, visitor); } else if (candidate instanceof FieldNode) { processField((FieldNode) candidate, visitor); } else if (candidate instanceof DeclarationExpression) { processLocalVariable((DeclarationExpression) candidate, visitor); } }