question: public static Annotation [ ] [ ] parseParameterAnnotations ( byte [ ] rawAnnotations , ConstantPool constPool , Class < ? > container ) { try { return parseParameterAnnotations2 ( rawAnnotations , constPool , container ) ; } catch ( BufferUnderflowException e ) { throw new AnnotationFormatError ( "Unexpected end of parameter annotations." ) ; } catch ( IllegalArgumentException e ) { throw new AnnotationFormatError ( e ) ; } }
target:  Parses the parameter annotations described by the specified byte array. resolving constant references in the specified constant pool. The array must contain an array of annotations as described in the RuntimeVisibleParameterAnnotations_attribute: u1 num_parameters; { u2 num_annotations; annotation annotations[num_annotations]; } parameter_annotations[num_parameters]; Unlike parseAnnotations, rawAnnotations must not be null! A null value must be handled by the caller.  This is so because we cannot determine the number of parameters if rawAnnotations is null.  Also, the caller should check that the number of parameters indicated by the return value of this method matches the actual number of method parameters.  A mismatch indicates that an AnnotationFormatError should be thrown.