boolean runtimeVisible = name.equals("RuntimeVisibleParameterAnnotations"); if (name.equals("RuntimeVisibleAnnotations") || name.equals("RuntimeInvisibleAnnotations")) {
boolean runtimeVisible = name.equals(RUNTIME_VISIBLE_PARAMETER_ANNOTATIONS); if (name.equals(RUNTIME_VISIBLE_ANNOTATIONS) || name.equals(RUNTIME_INVISIBLE_ANNOTATIONS)) {
	public void visit(Unknown obj) {		try {							String name = obj.getName();				if (DEBUG)					System.out.println("In " + getDottedClassName() + " found "							+ name);				byte[] b = obj.getBytes();				DataInputStream bytes = new DataInputStream(						new ByteArrayInputStream(b));				boolean runtimeVisible = name.equals("RuntimeVisibleParameterAnnotations");				if (name.equals("RuntimeVisibleAnnotations")						|| name.equals("RuntimeInvisibleAnnotations")) {					int numAnnotations = bytes.readUnsignedShort();					if (DEBUG)						System.out.println("# of annotations: "								+ numAnnotations);					for (int i = 0; i < numAnnotations; i++) {						String annotationName = getAnnotationName(bytes);						int numPairs = bytes.readUnsignedShort();						Map<String, Object> values = readAnnotationValues(								bytes, numPairs);						visitAnnotation(annotationName, values, name								.equals("RuntimeVisibleAnnotations"));					}				} else if (runtimeVisible						|| name.equals("RuntimeInvisibleParameterAnnotations")) {					int numParameters = bytes.readUnsignedByte();					if (DEBUG) System.out.println("Number of parameters: " + numParameters);					int numParametersToMethod = getMethod().getArgumentTypes().length;					if (DEBUG) System.out.println("Number of parameters to method: " + numParametersToMethod);					int offset = 0;					if (numParametersToMethod > numParameters) {						offset = 1;						visitSyntheticParameterAnnotation(								0,								runtimeVisible);						for(int p = numParameters+1; p < numParametersToMethod; p++) {							visitSyntheticParameterAnnotation(									p,									runtimeVisible);						}					}					for (int p = 0; p < numParameters; p++) {						int numAnnotations = bytes.readUnsignedShort();						if (DEBUG)							System.out.println("# of annotations on parameter " + (offset+p)									+ ": "									+ numAnnotations);						for (int i = 0; i < numAnnotations; i++) {							String annotationName = getAnnotationName(bytes);							int numPairs = bytes.readUnsignedShort();							Map<String, Object> values = readAnnotationValues(									bytes, numPairs);														visitParameterAnnotation(									p+offset,									annotationName,									values,									runtimeVisible);						}					}				}				if (DEBUG) {					for (byte aB : b)						System.out.print(Integer.toString((aB & 0xff), 16)								+ " ");					System.out.println();				}					} catch (Exception e) {			// ignore		}	}