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);
  }
}

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 ) ; } }
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 .
