public abstract class org.springframework.web.servlet.support.WebContentGenerator extends org.springframework.web.context.support.WebApplicationObjectSupport
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.springframework.web.servlet.support.WebContentGenerator
  super_class: org.springframework.web.context.support.WebApplicationObjectSupport
{
  public static final java.lang.String METHOD_GET;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "GET"

  public static final java.lang.String METHOD_HEAD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "HEAD"

  public static final java.lang.String METHOD_POST;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "POST"

  private static final java.lang.String HEADER_PRAGMA;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Pragma"

  private static final java.lang.String HEADER_EXPIRES;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Expires"

  protected static final java.lang.String HEADER_CACHE_CONTROL;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "Cache-Control"

  private java.util.Set<java.lang.String> supportedMethods;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private java.lang.String allowHeader;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private boolean requireSession;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private org.springframework.http.CacheControl cacheControl;
    descriptor: Lorg/springframework/http/CacheControl;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private int cacheSeconds;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String[] varyByRequestHeaders;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private boolean useExpiresHeader;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean useCacheControlHeader;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean useCacheControlNoStore;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean alwaysMustRevalidate;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
         0: .line 121
            aload 0 /* this */
            iconst_1
            invokespecial org.springframework.web.servlet.support.WebContentGenerator.<init>:(Z)V
         1: .line 122
            return
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/web/servlet/support/WebContentGenerator;

  public void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
        start local 1 // boolean restrictDefaultSupportedMethods
         0: .line 130
            aload 0 /* this */
            invokespecial org.springframework.web.context.support.WebApplicationObjectSupport.<init>:()V
         1: .line 91
            aload 0 /* this */
            iconst_0
            putfield org.springframework.web.servlet.support.WebContentGenerator.requireSession:Z
         2: .line 96
            aload 0 /* this */
            iconst_m1
            putfield org.springframework.web.servlet.support.WebContentGenerator.cacheSeconds:I
         3: .line 105
            aload 0 /* this */
            iconst_0
            putfield org.springframework.web.servlet.support.WebContentGenerator.useExpiresHeader:Z
         4: .line 108
            aload 0 /* this */
            iconst_1
            putfield org.springframework.web.servlet.support.WebContentGenerator.useCacheControlHeader:Z
         5: .line 111
            aload 0 /* this */
            iconst_1
            putfield org.springframework.web.servlet.support.WebContentGenerator.useCacheControlNoStore:Z
         6: .line 113
            aload 0 /* this */
            iconst_0
            putfield org.springframework.web.servlet.support.WebContentGenerator.alwaysMustRevalidate:Z
         7: .line 131
            iload 1 /* restrictDefaultSupportedMethods */
            ifeq 12
         8: .line 132
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            iconst_4
            invokespecial java.util.LinkedHashSet.<init>:(I)V
            putfield org.springframework.web.servlet.support.WebContentGenerator.supportedMethods:Ljava/util/Set;
         9: .line 133
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.supportedMethods:Ljava/util/Set;
            ldc "GET"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        10: .line 134
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.supportedMethods:Ljava/util/Set;
            ldc "HEAD"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        11: .line 135
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.supportedMethods:Ljava/util/Set;
            ldc "POST"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        12: .line 137
      StackMap locals: org.springframework.web.servlet.support.WebContentGenerator int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.web.servlet.support.WebContentGenerator.initAllowHeader:()V
        13: .line 138
            return
        end local 1 // boolean restrictDefaultSupportedMethods
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot                             Name  Signature
            0   14     0                             this  Lorg/springframework/web/servlet/support/WebContentGenerator;
            0   14     1  restrictDefaultSupportedMethods  Z
    MethodParameters:
                                 Name  Flags
      restrictDefaultSupportedMethods  

  public void <init>(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
        start local 1 // java.lang.String[] supportedMethods
         0: .line 144
            aload 0 /* this */
            invokespecial org.springframework.web.context.support.WebApplicationObjectSupport.<init>:()V
         1: .line 91
            aload 0 /* this */
            iconst_0
            putfield org.springframework.web.servlet.support.WebContentGenerator.requireSession:Z
         2: .line 96
            aload 0 /* this */
            iconst_m1
            putfield org.springframework.web.servlet.support.WebContentGenerator.cacheSeconds:I
         3: .line 105
            aload 0 /* this */
            iconst_0
            putfield org.springframework.web.servlet.support.WebContentGenerator.useExpiresHeader:Z
         4: .line 108
            aload 0 /* this */
            iconst_1
            putfield org.springframework.web.servlet.support.WebContentGenerator.useCacheControlHeader:Z
         5: .line 111
            aload 0 /* this */
            iconst_1
            putfield org.springframework.web.servlet.support.WebContentGenerator.useCacheControlNoStore:Z
         6: .line 113
            aload 0 /* this */
            iconst_0
            putfield org.springframework.web.servlet.support.WebContentGenerator.alwaysMustRevalidate:Z
         7: .line 145
            aload 0 /* this */
            aload 1 /* supportedMethods */
            invokevirtual org.springframework.web.servlet.support.WebContentGenerator.setSupportedMethods:([Ljava/lang/String;)V
         8: .line 146
            return
        end local 1 // java.lang.String[] supportedMethods
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Lorg/springframework/web/servlet/support/WebContentGenerator;
            0    9     1  supportedMethods  [Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      supportedMethods  

  public final void setSupportedMethods(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0091) ACC_PUBLIC, ACC_FINAL, ACC_VARARGS
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
        start local 1 // java.lang.String[] methods
         0: .line 155
            aload 1 /* methods */
            invokestatic org.springframework.util.ObjectUtils.isEmpty:([Ljava/lang/Object;)Z
            ifne 3
         1: .line 156
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            aload 1 /* methods */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.LinkedHashSet.<init>:(Ljava/util/Collection;)V
            putfield org.springframework.web.servlet.support.WebContentGenerator.supportedMethods:Ljava/util/Set;
         2: .line 157
            goto 4
         3: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.springframework.web.servlet.support.WebContentGenerator.supportedMethods:Ljava/util/Set;
         4: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.web.servlet.support.WebContentGenerator.initAllowHeader:()V
         5: .line 162
            return
        end local 1 // java.lang.String[] methods
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/springframework/web/servlet/support/WebContentGenerator;
            0    6     1  methods  [Ljava/lang/String;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
         Name  Flags
      methods  

  public final java.lang.String[] getSupportedMethods();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
         0: .line 169
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.supportedMethods:Ljava/util/Set;
            ifnull 1
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.supportedMethods:Ljava/util/Set;
            invokestatic org.springframework.util.StringUtils.toStringArray:(Ljava/util/Collection;)[Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String[]
         2: areturn
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/web/servlet/support/WebContentGenerator;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private void initAllowHeader();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
         0: .line 174
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.supportedMethods:Ljava/util/Set;
            ifnonnull 9
         1: .line 175
            new java.util.ArrayList
            dup
            invokestatic org.springframework.http.HttpMethod.values:()[Lorg/springframework/http/HttpMethod;
            arraylength
            iconst_1
            isub
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 1 /* allowedMethods */
        start local 1 // java.util.Collection allowedMethods
         2: .line 176
            invokestatic org.springframework.http.HttpMethod.values:()[Lorg/springframework/http/HttpMethod;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 7
      StackMap locals: org.springframework.web.servlet.support.WebContentGenerator java.util.Collection top int int org.springframework.http.HttpMethod[]
      StackMap stack:
         3: aload 5
            iload 3
            aaload
            astore 2 /* method */
        start local 2 // org.springframework.http.HttpMethod method
         4: .line 177
            aload 2 /* method */
            getstatic org.springframework.http.HttpMethod.TRACE:Lorg/springframework/http/HttpMethod;
            if_acmpeq 6
         5: .line 178
            aload 1 /* allowedMethods */
            aload 2 /* method */
            invokevirtual org.springframework.http.HttpMethod.name:()Ljava/lang/String;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // org.springframework.http.HttpMethod method
         6: .line 176
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         7: iload 3
            iload 4
            if_icmplt 3
         8: .line 181
            goto 14
        end local 1 // java.util.Collection allowedMethods
         9: .line 182
      StackMap locals: org.springframework.web.servlet.support.WebContentGenerator
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.supportedMethods:Ljava/util/Set;
            getstatic org.springframework.http.HttpMethod.OPTIONS:Lorg/springframework/http/HttpMethod;
            invokevirtual org.springframework.http.HttpMethod.name:()Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 183
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.supportedMethods:Ljava/util/Set;
            astore 1 /* allowedMethods */
        start local 1 // java.util.Collection allowedMethods
        11: .line 184
            goto 14
        end local 1 // java.util.Collection allowedMethods
        12: .line 186
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.supportedMethods:Ljava/util/Set;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 1 /* allowedMethods */
        start local 1 // java.util.Collection allowedMethods
        13: .line 187
            aload 1 /* allowedMethods */
            getstatic org.springframework.http.HttpMethod.OPTIONS:Lorg/springframework/http/HttpMethod;
            invokevirtual org.springframework.http.HttpMethod.name:()Ljava/lang/String;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        14: .line 190
      StackMap locals: java.util.Collection
      StackMap stack:
            aload 0 /* this */
            aload 1 /* allowedMethods */
            invokestatic org.springframework.util.StringUtils.collectionToCommaDelimitedString:(Ljava/util/Collection;)Ljava/lang/String;
            putfield org.springframework.web.servlet.support.WebContentGenerator.allowHeader:Ljava/lang/String;
        15: .line 191
            return
        end local 1 // java.util.Collection allowedMethods
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   16     0            this  Lorg/springframework/web/servlet/support/WebContentGenerator;
            2    9     1  allowedMethods  Ljava/util/Collection<Ljava/lang/String;>;
           11   12     1  allowedMethods  Ljava/util/Collection<Ljava/lang/String;>;
           13   16     1  allowedMethods  Ljava/util/Collection<Ljava/lang/String;>;
            4    6     2          method  Lorg/springframework/http/HttpMethod;

  protected java.lang.String getAllowHeader();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
         0: .line 204
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.allowHeader:Ljava/lang/String;
            areturn
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/support/WebContentGenerator;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public final void setRequireSession(boolean);
    descriptor: (Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
        start local 1 // boolean requireSession
         0: .line 211
            aload 0 /* this */
            iload 1 /* requireSession */
            putfield org.springframework.web.servlet.support.WebContentGenerator.requireSession:Z
         1: .line 212
            return
        end local 1 // boolean requireSession
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/springframework/web/servlet/support/WebContentGenerator;
            0    2     1  requireSession  Z
    MethodParameters:
                Name  Flags
      requireSession  

  public final boolean isRequireSession();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
         0: .line 218
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.requireSession:Z
            ireturn
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/support/WebContentGenerator;

  public final void setCacheControl(org.springframework.http.CacheControl);
    descriptor: (Lorg/springframework/http/CacheControl;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
        start local 1 // org.springframework.http.CacheControl cacheControl
         0: .line 227
            aload 0 /* this */
            aload 1 /* cacheControl */
            putfield org.springframework.web.servlet.support.WebContentGenerator.cacheControl:Lorg/springframework/http/CacheControl;
         1: .line 228
            return
        end local 1 // org.springframework.http.CacheControl cacheControl
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/springframework/web/servlet/support/WebContentGenerator;
            0    2     1  cacheControl  Lorg/springframework/http/CacheControl;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
              Name  Flags
      cacheControl  

  public final org.springframework.http.CacheControl getCacheControl();
    descriptor: ()Lorg/springframework/http/CacheControl;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
         0: .line 237
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.cacheControl:Lorg/springframework/http/CacheControl;
            areturn
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/support/WebContentGenerator;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public final void setCacheSeconds(int);
    descriptor: (I)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
        start local 1 // int seconds
         0: .line 253
            aload 0 /* this */
            iload 1 /* seconds */
            putfield org.springframework.web.servlet.support.WebContentGenerator.cacheSeconds:I
         1: .line 254
            return
        end local 1 // int seconds
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/springframework/web/servlet/support/WebContentGenerator;
            0    2     1  seconds  I
    MethodParameters:
         Name  Flags
      seconds  

  public final int getCacheSeconds();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
         0: .line 260
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.cacheSeconds:I
            ireturn
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/support/WebContentGenerator;

  public final void setVaryByRequestHeaders(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0091) ACC_PUBLIC, ACC_FINAL, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
        start local 1 // java.lang.String[] varyByRequestHeaders
         0: .line 273
            aload 0 /* this */
            aload 1 /* varyByRequestHeaders */
            putfield org.springframework.web.servlet.support.WebContentGenerator.varyByRequestHeaders:[Ljava/lang/String;
         1: .line 274
            return
        end local 1 // java.lang.String[] varyByRequestHeaders
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0                  this  Lorg/springframework/web/servlet/support/WebContentGenerator;
            0    2     1  varyByRequestHeaders  [Ljava/lang/String;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
                      Name  Flags
      varyByRequestHeaders  

  public final java.lang.String[] getVaryByRequestHeaders();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
         0: .line 282
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.varyByRequestHeaders:[Ljava/lang/String;
            areturn
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/support/WebContentGenerator;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public final void setUseExpiresHeader(boolean);
    descriptor: (Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
        start local 1 // boolean useExpiresHeader
         0: .line 295
            aload 0 /* this */
            iload 1 /* useExpiresHeader */
            putfield org.springframework.web.servlet.support.WebContentGenerator.useExpiresHeader:Z
         1: .line 296
            return
        end local 1 // boolean useExpiresHeader
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/springframework/web/servlet/support/WebContentGenerator;
            0    2     1  useExpiresHeader  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                  Name  Flags
      useExpiresHeader  

  public final boolean isUseExpiresHeader();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
         0: .line 304
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.useExpiresHeader:Z
            ireturn
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/support/WebContentGenerator;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public final void setUseCacheControlHeader(boolean);
    descriptor: (Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
        start local 1 // boolean useCacheControlHeader
         0: .line 316
            aload 0 /* this */
            iload 1 /* useCacheControlHeader */
            putfield org.springframework.web.servlet.support.WebContentGenerator.useCacheControlHeader:Z
         1: .line 317
            return
        end local 1 // boolean useCacheControlHeader
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0                   this  Lorg/springframework/web/servlet/support/WebContentGenerator;
            0    2     1  useCacheControlHeader  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                       Name  Flags
      useCacheControlHeader  

  public final boolean isUseCacheControlHeader();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
         0: .line 325
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.useCacheControlHeader:Z
            ireturn
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/support/WebContentGenerator;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public final void setUseCacheControlNoStore(boolean);
    descriptor: (Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
        start local 1 // boolean useCacheControlNoStore
         0: .line 335
            aload 0 /* this */
            iload 1 /* useCacheControlNoStore */
            putfield org.springframework.web.servlet.support.WebContentGenerator.useCacheControlNoStore:Z
         1: .line 336
            return
        end local 1 // boolean useCacheControlNoStore
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    2     0                    this  Lorg/springframework/web/servlet/support/WebContentGenerator;
            0    2     1  useCacheControlNoStore  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                        Name  Flags
      useCacheControlNoStore  

  public final boolean isUseCacheControlNoStore();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
         0: .line 344
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.useCacheControlNoStore:Z
            ireturn
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/support/WebContentGenerator;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public final void setAlwaysMustRevalidate(boolean);
    descriptor: (Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
        start local 1 // boolean mustRevalidate
         0: .line 357
            aload 0 /* this */
            iload 1 /* mustRevalidate */
            putfield org.springframework.web.servlet.support.WebContentGenerator.alwaysMustRevalidate:Z
         1: .line 358
            return
        end local 1 // boolean mustRevalidate
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/springframework/web/servlet/support/WebContentGenerator;
            0    2     1  mustRevalidate  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                Name  Flags
      mustRevalidate  

  public final boolean isAlwaysMustRevalidate();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
         0: .line 366
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.alwaysMustRevalidate:Z
            ireturn
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/support/WebContentGenerator;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  protected final void checkRequest(javax.servlet.http.HttpServletRequest);
    descriptor: (Ljavax/servlet/http/HttpServletRequest;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
        start local 1 // javax.servlet.http.HttpServletRequest request
         0: .line 378
            aload 1 /* request */
            invokeinterface javax.servlet.http.HttpServletRequest.getMethod:()Ljava/lang/String;
            astore 2 /* method */
        start local 2 // java.lang.String method
         1: .line 379
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.supportedMethods:Ljava/util/Set;
            ifnull 3
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.supportedMethods:Ljava/util/Set;
            aload 2 /* method */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 380
            new org.springframework.web.HttpRequestMethodNotSupportedException
            dup
            aload 2 /* method */
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.supportedMethods:Ljava/util/Set;
            invokespecial org.springframework.web.HttpRequestMethodNotSupportedException.<init>:(Ljava/lang/String;Ljava/util/Collection;)V
            athrow
         3: .line 384
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.requireSession:Z
            ifeq 5
            aload 1 /* request */
            iconst_0
            invokeinterface javax.servlet.http.HttpServletRequest.getSession:(Z)Ljavax/servlet/http/HttpSession;
            ifnonnull 5
         4: .line 385
            new org.springframework.web.HttpSessionRequiredException
            dup
            ldc "Pre-existing session required but none found"
            invokespecial org.springframework.web.HttpSessionRequiredException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 387
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String method
        end local 1 // javax.servlet.http.HttpServletRequest request
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/springframework/web/servlet/support/WebContentGenerator;
            0    6     1  request  Ljavax/servlet/http/HttpServletRequest;
            1    6     2   method  Ljava/lang/String;
    Exceptions:
      throws javax.servlet.ServletException
    MethodParameters:
         Name  Flags
      request  

  protected final void prepareResponse(javax.servlet.http.HttpServletResponse);
    descriptor: (Ljavax/servlet/http/HttpServletResponse;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
        start local 1 // javax.servlet.http.HttpServletResponse response
         0: .line 396
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.cacheControl:Lorg/springframework/http/CacheControl;
            ifnull 3
         1: .line 397
            aload 0 /* this */
            aload 1 /* response */
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.cacheControl:Lorg/springframework/http/CacheControl;
            invokevirtual org.springframework.web.servlet.support.WebContentGenerator.applyCacheControl:(Ljavax/servlet/http/HttpServletResponse;Lorg/springframework/http/CacheControl;)V
         2: .line 398
            goto 4
         3: .line 400
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* response */
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.cacheSeconds:I
            invokevirtual org.springframework.web.servlet.support.WebContentGenerator.applyCacheSeconds:(Ljavax/servlet/http/HttpServletResponse;I)V
         4: .line 402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.varyByRequestHeaders:[Ljava/lang/String;
            ifnull 9
         5: .line 403
            aload 0 /* this */
            aload 1 /* response */
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.varyByRequestHeaders:[Ljava/lang/String;
            invokevirtual org.springframework.web.servlet.support.WebContentGenerator.getVaryRequestHeadersToAdd:(Ljavax/servlet/http/HttpServletResponse;[Ljava/lang/String;)Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 8
      StackMap locals: org.springframework.web.servlet.support.WebContentGenerator javax.servlet.http.HttpServletResponse top java.util.Iterator
      StackMap stack:
         6: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* value */
        start local 2 // java.lang.String value
         7: .line 404
            aload 1 /* response */
            ldc "Vary"
            aload 2 /* value */
            invokeinterface javax.servlet.http.HttpServletResponse.addHeader:(Ljava/lang/String;Ljava/lang/String;)V
        end local 2 // java.lang.String value
         8: .line 403
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 407
      StackMap locals: org.springframework.web.servlet.support.WebContentGenerator javax.servlet.http.HttpServletResponse
      StackMap stack:
            return
        end local 1 // javax.servlet.http.HttpServletResponse response
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/springframework/web/servlet/support/WebContentGenerator;
            0   10     1  response  Ljavax/servlet/http/HttpServletResponse;
            7    8     2     value  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      response  

  protected final void applyCacheControl(javax.servlet.http.HttpServletResponse, org.springframework.http.CacheControl);
    descriptor: (Ljavax/servlet/http/HttpServletResponse;Lorg/springframework/http/CacheControl;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
        start local 1 // javax.servlet.http.HttpServletResponse response
        start local 2 // org.springframework.http.CacheControl cacheControl
         0: .line 416
            aload 2 /* cacheControl */
            invokevirtual org.springframework.http.CacheControl.getHeaderValue:()Ljava/lang/String;
            astore 3 /* ccValue */
        start local 3 // java.lang.String ccValue
         1: .line 417
            aload 3 /* ccValue */
            ifnull 7
         2: .line 419
            aload 1 /* response */
            ldc "Cache-Control"
            aload 3 /* ccValue */
            invokeinterface javax.servlet.http.HttpServletResponse.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 421
            aload 1 /* response */
            ldc "Pragma"
            invokeinterface javax.servlet.http.HttpServletResponse.containsHeader:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 423
            aload 1 /* response */
            ldc "Pragma"
            ldc ""
            invokeinterface javax.servlet.http.HttpServletResponse.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 425
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* response */
            ldc "Expires"
            invokeinterface javax.servlet.http.HttpServletResponse.containsHeader:(Ljava/lang/String;)Z
            ifeq 7
         6: .line 427
            aload 1 /* response */
            ldc "Expires"
            ldc ""
            invokeinterface javax.servlet.http.HttpServletResponse.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 430
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String ccValue
        end local 2 // org.springframework.http.CacheControl cacheControl
        end local 1 // javax.servlet.http.HttpServletResponse response
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lorg/springframework/web/servlet/support/WebContentGenerator;
            0    8     1      response  Ljavax/servlet/http/HttpServletResponse;
            0    8     2  cacheControl  Lorg/springframework/http/CacheControl;
            1    8     3       ccValue  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      response      
      cacheControl  

  protected final void applyCacheSeconds(javax.servlet.http.HttpServletResponse, int);
    descriptor: (Ljavax/servlet/http/HttpServletResponse;I)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
        start local 1 // javax.servlet.http.HttpServletResponse response
        start local 2 // int cacheSeconds
         0: .line 443
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.useExpiresHeader:Z
            ifne 1
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.useCacheControlHeader:Z
            ifne 7
         1: .line 445
      StackMap locals:
      StackMap stack:
            iload 2 /* cacheSeconds */
            ifle 4
         2: .line 446
            aload 0 /* this */
            aload 1 /* response */
            iload 2 /* cacheSeconds */
            invokevirtual org.springframework.web.servlet.support.WebContentGenerator.cacheForSeconds:(Ljavax/servlet/http/HttpServletResponse;I)V
         3: .line 447
            goto 19
         4: .line 448
      StackMap locals:
      StackMap stack:
            iload 2 /* cacheSeconds */
            ifne 19
         5: .line 449
            aload 0 /* this */
            aload 1 /* response */
            invokevirtual org.springframework.web.servlet.support.WebContentGenerator.preventCaching:(Ljavax/servlet/http/HttpServletResponse;)V
         6: .line 451
            goto 19
         7: .line 454
      StackMap locals:
      StackMap stack:
            iload 2 /* cacheSeconds */
            ifle 12
         8: .line 455
            iload 2 /* cacheSeconds */
            i2l
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
            invokestatic org.springframework.http.CacheControl.maxAge:(JLjava/util/concurrent/TimeUnit;)Lorg/springframework/http/CacheControl;
            astore 3 /* cControl */
        start local 3 // org.springframework.http.CacheControl cControl
         9: .line 456
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.alwaysMustRevalidate:Z
            ifeq 18
        10: .line 457
            aload 3 /* cControl */
            invokevirtual org.springframework.http.CacheControl.mustRevalidate:()Lorg/springframework/http/CacheControl;
            astore 3 /* cControl */
        11: .line 459
            goto 18
        end local 3 // org.springframework.http.CacheControl cControl
        12: .line 460
      StackMap locals:
      StackMap stack:
            iload 2 /* cacheSeconds */
            ifne 17
        13: .line 461
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.useCacheControlNoStore:Z
            ifeq 14
            invokestatic org.springframework.http.CacheControl.noStore:()Lorg/springframework/http/CacheControl;
            goto 15
      StackMap locals:
      StackMap stack:
        14: invokestatic org.springframework.http.CacheControl.noCache:()Lorg/springframework/http/CacheControl;
      StackMap locals:
      StackMap stack: org.springframework.http.CacheControl
        15: astore 3 /* cControl */
        start local 3 // org.springframework.http.CacheControl cControl
        16: .line 462
            goto 18
        end local 3 // org.springframework.http.CacheControl cControl
        17: .line 464
      StackMap locals:
      StackMap stack:
            invokestatic org.springframework.http.CacheControl.empty:()Lorg/springframework/http/CacheControl;
            astore 3 /* cControl */
        start local 3 // org.springframework.http.CacheControl cControl
        18: .line 466
      StackMap locals: org.springframework.http.CacheControl
      StackMap stack:
            aload 0 /* this */
            aload 1 /* response */
            aload 3 /* cControl */
            invokevirtual org.springframework.web.servlet.support.WebContentGenerator.applyCacheControl:(Ljavax/servlet/http/HttpServletResponse;Lorg/springframework/http/CacheControl;)V
        end local 3 // org.springframework.http.CacheControl cControl
        19: .line 468
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int cacheSeconds
        end local 1 // javax.servlet.http.HttpServletResponse response
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0          this  Lorg/springframework/web/servlet/support/WebContentGenerator;
            0   20     1      response  Ljavax/servlet/http/HttpServletResponse;
            0   20     2  cacheSeconds  I
            9   12     3      cControl  Lorg/springframework/http/CacheControl;
           16   17     3      cControl  Lorg/springframework/http/CacheControl;
           18   19     3      cControl  Lorg/springframework/http/CacheControl;
    MethodParameters:
              Name  Flags
      response      
      cacheSeconds  

  protected final void checkAndPrepare(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, boolean);
    descriptor: (Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Z)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
        start local 1 // javax.servlet.http.HttpServletRequest request
        start local 2 // javax.servlet.http.HttpServletResponse response
        start local 3 // boolean lastModified
         0: .line 483
            aload 0 /* this */
            aload 1 /* request */
            invokevirtual org.springframework.web.servlet.support.WebContentGenerator.checkRequest:(Ljavax/servlet/http/HttpServletRequest;)V
         1: .line 484
            aload 0 /* this */
            aload 2 /* response */
            invokevirtual org.springframework.web.servlet.support.WebContentGenerator.prepareResponse:(Ljavax/servlet/http/HttpServletResponse;)V
         2: .line 485
            return
        end local 3 // boolean lastModified
        end local 2 // javax.servlet.http.HttpServletResponse response
        end local 1 // javax.servlet.http.HttpServletRequest request
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/springframework/web/servlet/support/WebContentGenerator;
            0    3     1       request  Ljavax/servlet/http/HttpServletRequest;
            0    3     2      response  Ljavax/servlet/http/HttpServletResponse;
            0    3     3  lastModified  Z
    Exceptions:
      throws javax.servlet.ServletException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      request       
      response      
      lastModified  

  protected final void checkAndPrepare(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, int, boolean);
    descriptor: (Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;IZ)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
        start local 1 // javax.servlet.http.HttpServletRequest request
        start local 2 // javax.servlet.http.HttpServletResponse response
        start local 3 // int cacheSeconds
        start local 4 // boolean lastModified
         0: .line 500
            aload 0 /* this */
            aload 1 /* request */
            invokevirtual org.springframework.web.servlet.support.WebContentGenerator.checkRequest:(Ljavax/servlet/http/HttpServletRequest;)V
         1: .line 501
            aload 0 /* this */
            aload 2 /* response */
            iload 3 /* cacheSeconds */
            invokevirtual org.springframework.web.servlet.support.WebContentGenerator.applyCacheSeconds:(Ljavax/servlet/http/HttpServletResponse;I)V
         2: .line 502
            return
        end local 4 // boolean lastModified
        end local 3 // int cacheSeconds
        end local 2 // javax.servlet.http.HttpServletResponse response
        end local 1 // javax.servlet.http.HttpServletRequest request
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/springframework/web/servlet/support/WebContentGenerator;
            0    3     1       request  Ljavax/servlet/http/HttpServletRequest;
            0    3     2      response  Ljavax/servlet/http/HttpServletResponse;
            0    3     3  cacheSeconds  I
            0    3     4  lastModified  Z
    Exceptions:
      throws javax.servlet.ServletException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      request       
      response      
      cacheSeconds  
      lastModified  

  protected final void applyCacheSeconds(javax.servlet.http.HttpServletResponse, int, boolean);
    descriptor: (Ljavax/servlet/http/HttpServletResponse;IZ)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
        start local 1 // javax.servlet.http.HttpServletResponse response
        start local 2 // int cacheSeconds
        start local 3 // boolean mustRevalidate
         0: .line 519
            iload 2 /* cacheSeconds */
            ifle 3
         1: .line 520
            aload 0 /* this */
            aload 1 /* response */
            iload 2 /* cacheSeconds */
            iload 3 /* mustRevalidate */
            invokevirtual org.springframework.web.servlet.support.WebContentGenerator.cacheForSeconds:(Ljavax/servlet/http/HttpServletResponse;IZ)V
         2: .line 521
            goto 5
         3: .line 522
      StackMap locals:
      StackMap stack:
            iload 2 /* cacheSeconds */
            ifne 5
         4: .line 523
            aload 0 /* this */
            aload 1 /* response */
            invokevirtual org.springframework.web.servlet.support.WebContentGenerator.preventCaching:(Ljavax/servlet/http/HttpServletResponse;)V
         5: .line 525
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean mustRevalidate
        end local 2 // int cacheSeconds
        end local 1 // javax.servlet.http.HttpServletResponse response
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lorg/springframework/web/servlet/support/WebContentGenerator;
            0    6     1        response  Ljavax/servlet/http/HttpServletResponse;
            0    6     2    cacheSeconds  I
            0    6     3  mustRevalidate  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                Name  Flags
      response        
      cacheSeconds    
      mustRevalidate  

  protected final void cacheForSeconds(javax.servlet.http.HttpServletResponse, int);
    descriptor: (Ljavax/servlet/http/HttpServletResponse;I)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
        start local 1 // javax.servlet.http.HttpServletResponse response
        start local 2 // int seconds
         0: .line 537
            aload 0 /* this */
            aload 1 /* response */
            iload 2 /* seconds */
            iconst_0
            invokevirtual org.springframework.web.servlet.support.WebContentGenerator.cacheForSeconds:(Ljavax/servlet/http/HttpServletResponse;IZ)V
         1: .line 538
            return
        end local 2 // int seconds
        end local 1 // javax.servlet.http.HttpServletResponse response
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/springframework/web/servlet/support/WebContentGenerator;
            0    2     1  response  Ljavax/servlet/http/HttpServletResponse;
            0    2     2   seconds  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      response  
      seconds   

  protected final void cacheForSeconds(javax.servlet.http.HttpServletResponse, int, boolean);
    descriptor: (Ljavax/servlet/http/HttpServletResponse;IZ)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=8, locals=5, args_size=4
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
        start local 1 // javax.servlet.http.HttpServletResponse response
        start local 2 // int seconds
        start local 3 // boolean mustRevalidate
         0: .line 553
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.useExpiresHeader:Z
            ifeq 3
         1: .line 555
            aload 1 /* response */
            ldc "Expires"
            invokestatic java.lang.System.currentTimeMillis:()J
            iload 2 /* seconds */
            i2l
            ldc 1000
            lmul
            ladd
            invokeinterface javax.servlet.http.HttpServletResponse.setDateHeader:(Ljava/lang/String;J)V
         2: .line 556
            goto 5
         3: .line 557
      StackMap locals:
      StackMap stack:
            aload 1 /* response */
            ldc "Expires"
            invokeinterface javax.servlet.http.HttpServletResponse.containsHeader:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 559
            aload 1 /* response */
            ldc "Expires"
            ldc ""
            invokeinterface javax.servlet.http.HttpServletResponse.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 562
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.useCacheControlHeader:Z
            ifeq 10
         6: .line 564
            new java.lang.StringBuilder
            dup
            ldc "max-age="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* seconds */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* headerValue */
        start local 4 // java.lang.String headerValue
         7: .line 565
            iload 3 /* mustRevalidate */
            ifne 8
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.alwaysMustRevalidate:Z
            ifeq 9
         8: .line 566
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 4 /* headerValue */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ", must-revalidate"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* headerValue */
         9: .line 568
      StackMap locals:
      StackMap stack:
            aload 1 /* response */
            ldc "Cache-Control"
            aload 4 /* headerValue */
            invokeinterface javax.servlet.http.HttpServletResponse.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
        end local 4 // java.lang.String headerValue
        10: .line 571
      StackMap locals:
      StackMap stack:
            aload 1 /* response */
            ldc "Pragma"
            invokeinterface javax.servlet.http.HttpServletResponse.containsHeader:(Ljava/lang/String;)Z
            ifeq 12
        11: .line 573
            aload 1 /* response */
            ldc "Pragma"
            ldc ""
            invokeinterface javax.servlet.http.HttpServletResponse.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
        12: .line 575
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean mustRevalidate
        end local 2 // int seconds
        end local 1 // javax.servlet.http.HttpServletResponse response
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lorg/springframework/web/servlet/support/WebContentGenerator;
            0   13     1        response  Ljavax/servlet/http/HttpServletResponse;
            0   13     2         seconds  I
            0   13     3  mustRevalidate  Z
            7   10     4     headerValue  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                Name  Flags
      response        
      seconds         
      mustRevalidate  

  protected final void preventCaching(javax.servlet.http.HttpServletResponse);
    descriptor: (Ljavax/servlet/http/HttpServletResponse;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
        start local 1 // javax.servlet.http.HttpServletResponse response
         0: .line 585
            aload 1 /* response */
            ldc "Pragma"
            ldc "no-cache"
            invokeinterface javax.servlet.http.HttpServletResponse.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 587
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.useExpiresHeader:Z
            ifeq 3
         2: .line 589
            aload 1 /* response */
            ldc "Expires"
            lconst_1
            invokeinterface javax.servlet.http.HttpServletResponse.setDateHeader:(Ljava/lang/String;J)V
         3: .line 592
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.useCacheControlHeader:Z
            ifeq 7
         4: .line 595
            aload 1 /* response */
            ldc "Cache-Control"
            ldc "no-cache"
            invokeinterface javax.servlet.http.HttpServletResponse.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 596
            aload 0 /* this */
            getfield org.springframework.web.servlet.support.WebContentGenerator.useCacheControlNoStore:Z
            ifeq 7
         6: .line 597
            aload 1 /* response */
            ldc "Cache-Control"
            ldc "no-store"
            invokeinterface javax.servlet.http.HttpServletResponse.addHeader:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 600
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.servlet.http.HttpServletResponse response
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/springframework/web/servlet/support/WebContentGenerator;
            0    8     1  response  Ljavax/servlet/http/HttpServletResponse;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      response  

  private java.util.Collection<java.lang.String> getVaryRequestHeadersToAdd(javax.servlet.http.HttpServletResponse, java.lang.String[]);
    descriptor: (Ljavax/servlet/http/HttpServletResponse;[Ljava/lang/String;)Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.web.servlet.support.WebContentGenerator this
         0: .line 609
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tThe method getHeaders(String) is undefined for the type HttpServletResponse\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.springframework.web.servlet.support.WebContentGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/servlet/support/WebContentGenerator;
    Signature: (Ljavax/servlet/http/HttpServletResponse;[Ljava/lang/String;)Ljava/util/Collection<Ljava/lang/String;>;
    MethodParameters:
                      Name  Flags
      response              
      varyByRequestHeaders  
}
SourceFile: "WebContentGenerator.java"