AnnotationVisitor (int parameter, String desc, boolean visible) { AnnotationVisitor av = mv.visitParameterAnnotation(parameter, desc, visible); if (isStringType(myArgTypes[parameter + myParamAnnotationOffset])) { String annotationClassName = Type.getType(desc).getClassName(); String pattern = myInstrumenter.getAnnotationPattern(annotationClassName); if (pattern != null) { String shortName = annotationClassName.substring(annotationClassName.lastIndexOf('.') + 1); PatternValue patternValue = new PatternValue(parameter + myParamAnnotationOffset, shortName, pattern); myParameterPatterns.add(patternValue); if (Strings.areSameInstance(pattern, PatternInstrumenter.NULL_PATTERN)) { return new MyAnnotationVisitor(av, patternValue); } } } return av; }