public class org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver implements org.springframework.web.server.i18n.LocaleContextResolver
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver
  super_class: java.lang.Object
{
  private final java.util.List<java.util.Locale> supportedLocales;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/util/Locale;>;

  private java.util.Locale defaultLocale;
    descriptor: Ljava/util/Locale;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver this
         0: .line 43
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 45
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_4
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver.supportedLocales:Ljava/util/List;
         2: .line 43
            return
        end local 0 // org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/web/server/i18n/AcceptHeaderLocaleContextResolver;

  public void setSupportedLocales(java.util.List<java.util.Locale>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver this
        start local 1 // java.util.List locales
         0: .line 57
            aload 0 /* this */
            getfield org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver.supportedLocales:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         1: .line 58
            aload 0 /* this */
            getfield org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver.supportedLocales:Ljava/util/List;
            aload 1 /* locales */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         2: .line 59
            return
        end local 1 // java.util.List locales
        end local 0 // org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/springframework/web/server/i18n/AcceptHeaderLocaleContextResolver;
            0    3     1  locales  Ljava/util/List<Ljava/util/Locale;>;
    Signature: (Ljava/util/List<Ljava/util/Locale;>;)V
    MethodParameters:
         Name  Flags
      locales  

  public java.util.List<java.util.Locale> getSupportedLocales();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver this
         0: .line 65
            aload 0 /* this */
            getfield org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver.supportedLocales:Ljava/util/List;
            areturn
        end local 0 // org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/server/i18n/AcceptHeaderLocaleContextResolver;
    Signature: ()Ljava/util/List<Ljava/util/Locale;>;

  public void setDefaultLocale(java.util.Locale);
    descriptor: (Ljava/util/Locale;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver this
        start local 1 // java.util.Locale defaultLocale
         0: .line 74
            aload 0 /* this */
            aload 1 /* defaultLocale */
            putfield org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver.defaultLocale:Ljava/util/Locale;
         1: .line 75
            return
        end local 1 // java.util.Locale defaultLocale
        end local 0 // org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/springframework/web/server/i18n/AcceptHeaderLocaleContextResolver;
            0    2     1  defaultLocale  Ljava/util/Locale;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
               Name  Flags
      defaultLocale  

  public java.util.Locale getDefaultLocale();
    descriptor: ()Ljava/util/Locale;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver this
         0: .line 82
            aload 0 /* this */
            getfield org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver.defaultLocale:Ljava/util/Locale;
            areturn
        end local 0 // org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/server/i18n/AcceptHeaderLocaleContextResolver;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public org.springframework.context.i18n.LocaleContext resolveLocaleContext(org.springframework.web.server.ServerWebExchange);
    descriptor: (Lorg/springframework/web/server/ServerWebExchange;)Lorg/springframework/context/i18n/LocaleContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver this
        start local 1 // org.springframework.web.server.ServerWebExchange exchange
         0: .line 88
            aconst_null
            astore 2 /* requestLocales */
        start local 2 // java.util.List requestLocales
         1: .line 90
            aload 1 /* exchange */
            invokeinterface org.springframework.web.server.ServerWebExchange.getRequest:()Lorg/springframework/http/server/reactive/ServerHttpRequest;
            invokeinterface org.springframework.http.server.reactive.ServerHttpRequest.getHeaders:()Lorg/springframework/http/HttpHeaders;
            invokevirtual org.springframework.http.HttpHeaders.getAcceptLanguageAsLocales:()Ljava/util/List;
            astore 2 /* requestLocales */
         2: .line 91
            goto 4
         3: .line 92
      StackMap locals: org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver org.springframework.web.server.ServerWebExchange java.util.List
      StackMap stack: java.lang.IllegalArgumentException
            pop
         4: .line 95
      StackMap locals:
      StackMap stack:
            new org.springframework.context.i18n.SimpleLocaleContext
            dup
            aload 0 /* this */
            aload 2 /* requestLocales */
            invokevirtual org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver.resolveSupportedLocale:(Ljava/util/List;)Ljava/util/Locale;
            invokespecial org.springframework.context.i18n.SimpleLocaleContext.<init>:(Ljava/util/Locale;)V
            areturn
        end local 2 // java.util.List requestLocales
        end local 1 // org.springframework.web.server.ServerWebExchange exchange
        end local 0 // org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lorg/springframework/web/server/i18n/AcceptHeaderLocaleContextResolver;
            0    5     1        exchange  Lorg/springframework/web/server/ServerWebExchange;
            1    5     2  requestLocales  Ljava/util/List<Ljava/util/Locale;>;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.IllegalArgumentException
    MethodParameters:
          Name  Flags
      exchange  

  private java.util.Locale resolveSupportedLocale(java.util.List<java.util.Locale>);
    descriptor: (Ljava/util/List;)Ljava/util/Locale;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver this
        start local 1 // java.util.List requestLocales
         0: .line 100
            aload 1 /* requestLocales */
            invokestatic org.springframework.util.CollectionUtils.isEmpty:(Ljava/util/Collection;)Z
            ifeq 2
         1: .line 101
            aload 0 /* this */
            getfield org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver.defaultLocale:Ljava/util/Locale;
            areturn
         2: .line 103
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver.getSupportedLocales:()Ljava/util/List;
            astore 2 /* supportedLocales */
        start local 2 // java.util.List supportedLocales
         3: .line 104
            aload 2 /* supportedLocales */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 5
         4: .line 105
            aload 1 /* requestLocales */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.util.Locale
            areturn
         5: .line 108
      StackMap locals: java.util.List
      StackMap stack:
            aconst_null
            astore 3 /* languageMatch */
        start local 3 // java.util.Locale languageMatch
         6: .line 109
            aload 1 /* requestLocales */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 19
      StackMap locals: org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver java.util.List java.util.List java.util.Locale top java.util.Iterator
      StackMap stack:
         7: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Locale
            astore 4 /* locale */
        start local 4 // java.util.Locale locale
         8: .line 110
            aload 2 /* supportedLocales */
            aload 4 /* locale */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 111
            aload 3 /* languageMatch */
            ifnull 10
            aload 3 /* languageMatch */
            invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
            aload 4 /* locale */
            invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        10: .line 113
      StackMap locals: org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver java.util.List java.util.List java.util.Locale java.util.Locale java.util.Iterator
      StackMap stack:
            aload 4 /* locale */
            areturn
        11: .line 116
      StackMap locals:
      StackMap stack:
            aload 3 /* languageMatch */
            ifnonnull 19
        12: .line 118
            aload 2 /* supportedLocales */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 18
      StackMap locals: org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver java.util.List java.util.List java.util.Locale java.util.Locale java.util.Iterator top java.util.Iterator
      StackMap stack:
        13: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Locale
            astore 6 /* candidate */
        start local 6 // java.util.Locale candidate
        14: .line 119
            aload 6 /* candidate */
            invokevirtual java.util.Locale.getCountry:()Ljava/lang/String;
            invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
            ifne 18
        15: .line 120
            aload 6 /* candidate */
            invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
            aload 4 /* locale */
            invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        16: .line 121
            aload 6 /* candidate */
            astore 3 /* languageMatch */
        17: .line 122
            goto 19
        end local 6 // java.util.Locale candidate
        18: .line 118
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        end local 4 // java.util.Locale locale
        19: .line 109
      StackMap locals: org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver java.util.List java.util.List java.util.Locale top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        20: .line 127
            aload 3 /* languageMatch */
            ifnull 22
        21: .line 128
            aload 3 /* languageMatch */
            areturn
        22: .line 131
      StackMap locals: org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver java.util.List java.util.List java.util.Locale
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver.defaultLocale:Ljava/util/Locale;
            ifnull 23
            aload 0 /* this */
            getfield org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver.defaultLocale:Ljava/util/Locale;
            goto 24
      StackMap locals:
      StackMap stack:
        23: aload 1 /* requestLocales */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.util.Locale
      StackMap locals:
      StackMap stack: java.util.Locale
        24: areturn
        end local 3 // java.util.Locale languageMatch
        end local 2 // java.util.List supportedLocales
        end local 1 // java.util.List requestLocales
        end local 0 // org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   25     0              this  Lorg/springframework/web/server/i18n/AcceptHeaderLocaleContextResolver;
            0   25     1    requestLocales  Ljava/util/List<Ljava/util/Locale;>;
            3   25     2  supportedLocales  Ljava/util/List<Ljava/util/Locale;>;
            6   25     3     languageMatch  Ljava/util/Locale;
            8   19     4            locale  Ljava/util/Locale;
           14   18     6         candidate  Ljava/util/Locale;
    Signature: (Ljava/util/List<Ljava/util/Locale;>;)Ljava/util/Locale;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
                Name  Flags
      requestLocales  

  public void setLocaleContext(org.springframework.web.server.ServerWebExchange, org.springframework.context.i18n.LocaleContext);
    descriptor: (Lorg/springframework/web/server/ServerWebExchange;Lorg/springframework/context/i18n/LocaleContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver this
        start local 1 // org.springframework.web.server.ServerWebExchange exchange
        start local 2 // org.springframework.context.i18n.LocaleContext locale
         0: .line 136
            new java.lang.UnsupportedOperationException
            dup
         1: .line 137
            ldc "Cannot change HTTP accept header - use a different locale context resolution strategy"
         2: .line 136
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // org.springframework.context.i18n.LocaleContext locale
        end local 1 // org.springframework.web.server.ServerWebExchange exchange
        end local 0 // org.springframework.web.server.i18n.AcceptHeaderLocaleContextResolver this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/springframework/web/server/i18n/AcceptHeaderLocaleContextResolver;
            0    3     1  exchange  Lorg/springframework/web/server/ServerWebExchange;
            0    3     2    locale  Lorg/springframework/context/i18n/LocaleContext;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
          Name  Flags
      exchange  
      locale    
}
SourceFile: "AcceptHeaderLocaleContextResolver.java"