public class org.springframework.web.method.annotation.RequestHeaderMapMethodArgumentResolver implements org.springframework.web.method.support.HandlerMethodArgumentResolver
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.web.method.annotation.RequestHeaderMapMethodArgumentResolver
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.method.annotation.RequestHeaderMapMethodArgumentResolver this
         0: .line 47
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.springframework.web.method.annotation.RequestHeaderMapMethodArgumentResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/method/annotation/RequestHeaderMapMethodArgumentResolver;

  public boolean supportsParameter(org.springframework.core.MethodParameter);
    descriptor: (Lorg/springframework/core/MethodParameter;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.method.annotation.RequestHeaderMapMethodArgumentResolver this
        start local 1 // org.springframework.core.MethodParameter parameter
         0: .line 51
            aload 1 /* parameter */
            ldc Lorg/springframework/web/bind/annotation/RequestHeader;
            invokevirtual org.springframework.core.MethodParameter.hasParameterAnnotation:(Ljava/lang/Class;)Z
            ifeq 3
         1: .line 52
            ldc Ljava/util/Map;
            aload 1 /* parameter */
            invokevirtual org.springframework.core.MethodParameter.getParameterType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 3
         2: .line 51
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // org.springframework.core.MethodParameter parameter
        end local 0 // org.springframework.web.method.annotation.RequestHeaderMapMethodArgumentResolver this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/springframework/web/method/annotation/RequestHeaderMapMethodArgumentResolver;
            0    4     1  parameter  Lorg/springframework/core/MethodParameter;
    MethodParameters:
           Name  Flags
      parameter  

  public java.lang.Object resolveArgument(org.springframework.core.MethodParameter, org.springframework.web.method.support.ModelAndViewContainer, org.springframework.web.context.request.NativeWebRequest, org.springframework.web.bind.support.WebDataBinderFactory);
    descriptor: (Lorg/springframework/core/MethodParameter;Lorg/springframework/web/method/support/ModelAndViewContainer;Lorg/springframework/web/context/request/NativeWebRequest;Lorg/springframework/web/bind/support/WebDataBinderFactory;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=14, args_size=5
        start local 0 // org.springframework.web.method.annotation.RequestHeaderMapMethodArgumentResolver this
        start local 1 // org.springframework.core.MethodParameter parameter
        start local 2 // org.springframework.web.method.support.ModelAndViewContainer mavContainer
        start local 3 // org.springframework.web.context.request.NativeWebRequest webRequest
        start local 4 // org.springframework.web.bind.support.WebDataBinderFactory binderFactory
         0: .line 59
            aload 1 /* parameter */
            invokevirtual org.springframework.core.MethodParameter.getParameterType:()Ljava/lang/Class;
            astore 5 /* paramType */
        start local 5 // java.lang.Class paramType
         1: .line 60
            ldc Lorg/springframework/util/MultiValueMap;
            aload 5 /* paramType */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 18
         2: .line 62
            ldc Lorg/springframework/http/HttpHeaders;
            aload 5 /* paramType */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 5
         3: .line 63
            new org.springframework.http.HttpHeaders
            dup
            invokespecial org.springframework.http.HttpHeaders.<init>:()V
            astore 6 /* result */
        start local 6 // org.springframework.util.MultiValueMap result
         4: .line 64
            goto 6
        end local 6 // org.springframework.util.MultiValueMap result
         5: .line 66
      StackMap locals: java.lang.Class
      StackMap stack:
            new org.springframework.util.LinkedMultiValueMap
            dup
            invokespecial org.springframework.util.LinkedMultiValueMap.<init>:()V
            astore 6 /* result */
        start local 6 // org.springframework.util.MultiValueMap result
         6: .line 68
      StackMap locals: org.springframework.util.MultiValueMap
      StackMap stack:
            aload 3 /* webRequest */
            invokeinterface org.springframework.web.context.request.NativeWebRequest.getHeaderNames:()Ljava/util/Iterator;
            astore 7 /* iterator */
        start local 7 // java.util.Iterator iterator
         7: goto 16
         8: .line 69
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 7 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* headerName */
        start local 8 // java.lang.String headerName
         9: .line 70
            aload 3 /* webRequest */
            aload 8 /* headerName */
            invokeinterface org.springframework.web.context.request.NativeWebRequest.getHeaderValues:(Ljava/lang/String;)[Ljava/lang/String;
            astore 9 /* headerValues */
        start local 9 // java.lang.String[] headerValues
        10: .line 71
            aload 9 /* headerValues */
            ifnull 16
        11: .line 72
            aload 9 /* headerValues */
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 15
      StackMap locals: org.springframework.web.method.annotation.RequestHeaderMapMethodArgumentResolver org.springframework.core.MethodParameter org.springframework.web.method.support.ModelAndViewContainer org.springframework.web.context.request.NativeWebRequest org.springframework.web.bind.support.WebDataBinderFactory java.lang.Class org.springframework.util.MultiValueMap java.util.Iterator java.lang.String java.lang.String[] top int int java.lang.String[]
      StackMap stack:
        12: aload 13
            iload 11
            aaload
            astore 10 /* headerValue */
        start local 10 // java.lang.String headerValue
        13: .line 73
            aload 6 /* result */
            aload 8 /* headerName */
            aload 10 /* headerValue */
            invokeinterface org.springframework.util.MultiValueMap.add:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 10 // java.lang.String headerValue
        14: .line 72
            iinc 11 1
      StackMap locals:
      StackMap stack:
        15: iload 11
            iload 12
            if_icmplt 12
        end local 9 // java.lang.String[] headerValues
        end local 8 // java.lang.String headerName
        16: .line 68
      StackMap locals: org.springframework.web.method.annotation.RequestHeaderMapMethodArgumentResolver org.springframework.core.MethodParameter org.springframework.web.method.support.ModelAndViewContainer org.springframework.web.context.request.NativeWebRequest org.springframework.web.bind.support.WebDataBinderFactory java.lang.Class org.springframework.util.MultiValueMap java.util.Iterator
      StackMap stack:
            aload 7 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 7 // java.util.Iterator iterator
        17: .line 77
            aload 6 /* result */
            areturn
        end local 6 // org.springframework.util.MultiValueMap result
        18: .line 80
      StackMap locals:
      StackMap stack:
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 6 /* result */
        start local 6 // java.util.Map result
        19: .line 81
            aload 3 /* webRequest */
            invokeinterface org.springframework.web.context.request.NativeWebRequest.getHeaderNames:()Ljava/util/Iterator;
            astore 7 /* iterator */
        start local 7 // java.util.Iterator iterator
        20: goto 25
        21: .line 82
      StackMap locals: java.util.Map java.util.Iterator
      StackMap stack:
            aload 7 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* headerName */
        start local 8 // java.lang.String headerName
        22: .line 83
            aload 3 /* webRequest */
            aload 8 /* headerName */
            invokeinterface org.springframework.web.context.request.NativeWebRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* headerValue */
        start local 9 // java.lang.String headerValue
        23: .line 84
            aload 9 /* headerValue */
            ifnull 25
        24: .line 85
            aload 6 /* result */
            aload 8 /* headerName */
            aload 9 /* headerValue */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // java.lang.String headerValue
        end local 8 // java.lang.String headerName
        25: .line 81
      StackMap locals:
      StackMap stack:
            aload 7 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        end local 7 // java.util.Iterator iterator
        26: .line 88
            aload 6 /* result */
            areturn
        end local 6 // java.util.Map result
        end local 5 // java.lang.Class paramType
        end local 4 // org.springframework.web.bind.support.WebDataBinderFactory binderFactory
        end local 3 // org.springframework.web.context.request.NativeWebRequest webRequest
        end local 2 // org.springframework.web.method.support.ModelAndViewContainer mavContainer
        end local 1 // org.springframework.core.MethodParameter parameter
        end local 0 // org.springframework.web.method.annotation.RequestHeaderMapMethodArgumentResolver this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   27     0           this  Lorg/springframework/web/method/annotation/RequestHeaderMapMethodArgumentResolver;
            0   27     1      parameter  Lorg/springframework/core/MethodParameter;
            0   27     2   mavContainer  Lorg/springframework/web/method/support/ModelAndViewContainer;
            0   27     3     webRequest  Lorg/springframework/web/context/request/NativeWebRequest;
            0   27     4  binderFactory  Lorg/springframework/web/bind/support/WebDataBinderFactory;
            1   27     5      paramType  Ljava/lang/Class<*>;
            4    5     6         result  Lorg/springframework/util/MultiValueMap<Ljava/lang/String;Ljava/lang/String;>;
            6   18     6         result  Lorg/springframework/util/MultiValueMap<Ljava/lang/String;Ljava/lang/String;>;
            7   17     7       iterator  Ljava/util/Iterator<Ljava/lang/String;>;
            9   16     8     headerName  Ljava/lang/String;
           10   16     9   headerValues  [Ljava/lang/String;
           13   14    10    headerValue  Ljava/lang/String;
           19   27     6         result  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
           20   26     7       iterator  Ljava/util/Iterator<Ljava/lang/String;>;
           22   25     8     headerName  Ljava/lang/String;
           23   25     9    headerValue  Ljava/lang/String;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
      3:
        org.springframework.lang.Nullable()
    MethodParameters:
               Name  Flags
      parameter      
      mavContainer   
      webRequest     
      binderFactory  
}
SourceFile: "RequestHeaderMapMethodArgumentResolver.java"