}
@Override
public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
final AnnotationVisitor visitAnnotation = super.visitAnnotation(desc, visible);
if( AtomicMethod.ATOMIC_DESCRIPTOR.equals(desc)){
return new AnnotationVisitor(){
public void visit(String name, Object value) {
if( name.equals("retries"))
AtomicMethod.this.retries = (Integer)value;
visitAnnotation.visit(name, value);
}
public AnnotationVisitor visitAnnotation(String name, String desc) {
return visitAnnotation.visitAnnotation(name, desc);
}
public AnnotationVisitor visitArray(String name) {
return visitAnnotation.visitArray(name);
}
public void visitEnd() {
visitAnnotation.visitEnd();
}
public void visitEnum(String name, String desc, String value) {
visitAnnotation.visitEnum(name, desc, value);
}
};
}
return visitAnnotation;
}