public AnnotationVisitor visitParameterAnnotation(final int parameter,
			final String desc, final boolean visible) {
		AnnotationNode an = new AnnotationNode(desc);
		if (visible) {
			if (visibleParameterAnnotations == null) {
				int params = Type.getArgumentTypes(this.desc).length;
				visibleParameterAnnotations = new List[params];
			}
			if (visibleParameterAnnotations[parameter] == null) {
				visibleParameterAnnotations[parameter] = new ArrayList(1);
			}
			visibleParameterAnnotations[parameter].add(an);
		} else {
			if (invisibleParameterAnnotations == null) {
				int params = Type.getArgumentTypes(this.desc).length;
				invisibleParameterAnnotations = new List[params];
			}
			if (invisibleParameterAnnotations[parameter] == null) {
				invisibleParameterAnnotations[parameter] = new ArrayList(1);
			}
			invisibleParameterAnnotations[parameter].add(an);
		}
		return an;
	}