public class org.springframework.web.context.request.ServletWebRequest extends org.springframework.web.context.request.ServletRequestAttributes implements org.springframework.web.context.request.NativeWebRequest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.web.context.request.ServletWebRequest
  super_class: org.springframework.web.context.request.ServletRequestAttributes
{
  private static final java.lang.String ETAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "ETag"

  private static final java.lang.String IF_MODIFIED_SINCE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "If-Modified-Since"

  private static final java.lang.String IF_UNMODIFIED_SINCE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "If-Unmodified-Since"

  private static final java.lang.String IF_NONE_MATCH;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "If-None-Match"

  private static final java.lang.String LAST_MODIFIED;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Last-Modified"

  private static final java.util.List<java.lang.String> SAFE_METHODS;
    descriptor: Ljava/util/List;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private static final java.util.regex.Pattern ETAG_HEADER_VALUE_PATTERN;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String[] DATE_FORMATS;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.TimeZone GMT;
    descriptor: Ljava/util/TimeZone;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 63
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "GET"
            aastore
            dup
            iconst_1
            ldc "HEAD"
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            putstatic org.springframework.web.context.request.ServletWebRequest.SAFE_METHODS:Ljava/util/List;
         1: .line 69
            ldc "\\*|\\s*((W\\/)?(\"[^\"]*\"))\\s*,?"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic org.springframework.web.context.request.ServletWebRequest.ETAG_HEADER_VALUE_PATTERN:Ljava/util/regex/Pattern;
         2: .line 75
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
         3: .line 76
            ldc "EEE, dd MMM yyyy HH:mm:ss zzz"
            aastore
            dup
            iconst_1
         4: .line 77
            ldc "EEE, dd-MMM-yy HH:mm:ss zzz"
            aastore
            dup
            iconst_2
         5: .line 78
            ldc "EEE MMM dd HH:mm:ss yyyy"
            aastore
         6: .line 75
            putstatic org.springframework.web.context.request.ServletWebRequest.DATE_FORMATS:[Ljava/lang/String;
         7: .line 81
            ldc "GMT"
            invokestatic java.util.TimeZone.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone;
            putstatic org.springframework.web.context.request.ServletWebRequest.GMT:Ljava/util/TimeZone;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(javax.servlet.http.HttpServletRequest);
    descriptor: (Ljavax/servlet/http/HttpServletRequest;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
        start local 1 // javax.servlet.http.HttpServletRequest request
         0: .line 91
            aload 0 /* this */
            aload 1 /* request */
            invokespecial org.springframework.web.context.request.ServletRequestAttributes.<init>:(Ljavax/servlet/http/HttpServletRequest;)V
         1: .line 83
            aload 0 /* this */
            iconst_0
            putfield org.springframework.web.context.request.ServletWebRequest.notModified:Z
         2: .line 92
            return
        end local 1 // javax.servlet.http.HttpServletRequest request
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/springframework/web/context/request/ServletWebRequest;
            0    3     1  request  Ljavax/servlet/http/HttpServletRequest;
    MethodParameters:
         Name  Flags
      request  

  public void <init>(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse);
    descriptor: (Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
        start local 1 // javax.servlet.http.HttpServletRequest request
        start local 2 // javax.servlet.http.HttpServletResponse response
         0: .line 100
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* response */
            invokespecial org.springframework.web.context.request.ServletRequestAttributes.<init>:(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V
         1: .line 83
            aload 0 /* this */
            iconst_0
            putfield org.springframework.web.context.request.ServletWebRequest.notModified:Z
         2: .line 101
            return
        end local 2 // javax.servlet.http.HttpServletResponse response
        end local 1 // javax.servlet.http.HttpServletRequest request
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/springframework/web/context/request/ServletWebRequest;
            0    3     1   request  Ljavax/servlet/http/HttpServletRequest;
            0    3     2  response  Ljavax/servlet/http/HttpServletResponse;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
          Name  Flags
      request   
      response  

  public java.lang.Object getNativeRequest();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
         0: .line 106
            aload 0 /* this */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.getRequest:()Ljavax/servlet/http/HttpServletRequest;
            areturn
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/context/request/ServletWebRequest;

  public java.lang.Object getNativeResponse();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
         0: .line 111
            aload 0 /* this */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.getResponse:()Ljavax/servlet/http/HttpServletResponse;
            areturn
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/context/request/ServletWebRequest;

  public <T> T getNativeRequest(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
        start local 1 // java.lang.Class requiredType
         0: .line 116
            aload 0 /* this */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.getRequest:()Ljavax/servlet/http/HttpServletRequest;
            aload 1 /* requiredType */
            invokestatic org.springframework.web.util.WebUtils.getNativeRequest:(Ljavax/servlet/ServletRequest;Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Class requiredType
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/springframework/web/context/request/ServletWebRequest;
            0    1     1  requiredType  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
              Name  Flags
      requiredType  

  public <T> T getNativeResponse(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
        start local 1 // java.lang.Class requiredType
         0: .line 121
            aload 0 /* this */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.getResponse:()Ljavax/servlet/http/HttpServletResponse;
            astore 2 /* response */
        start local 2 // javax.servlet.http.HttpServletResponse response
         1: .line 122
            aload 2 /* response */
            ifnull 2
            aload 2 /* response */
            aload 1 /* requiredType */
            invokestatic org.springframework.web.util.WebUtils.getNativeResponse:(Ljavax/servlet/ServletResponse;Ljava/lang/Class;)Ljava/lang/Object;
            goto 3
      StackMap locals: javax.servlet.http.HttpServletResponse
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Object
         3: areturn
        end local 2 // javax.servlet.http.HttpServletResponse response
        end local 1 // java.lang.Class requiredType
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/springframework/web/context/request/ServletWebRequest;
            0    4     1  requiredType  Ljava/lang/Class<TT;>;
            1    4     2      response  Ljavax/servlet/http/HttpServletResponse;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
              Name  Flags
      requiredType  

  public org.springframework.http.HttpMethod getHttpMethod();
    descriptor: ()Lorg/springframework/http/HttpMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
         0: .line 131
            aload 0 /* this */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.getRequest:()Ljavax/servlet/http/HttpServletRequest;
            invokeinterface javax.servlet.http.HttpServletRequest.getMethod:()Ljava/lang/String;
            invokestatic org.springframework.http.HttpMethod.resolve:(Ljava/lang/String;)Lorg/springframework/http/HttpMethod;
            areturn
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/context/request/ServletWebRequest;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public java.lang.String getHeader(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
        start local 1 // java.lang.String headerName
         0: .line 137
            aload 0 /* this */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.getRequest:()Ljavax/servlet/http/HttpServletRequest;
            aload 1 /* headerName */
            invokeinterface javax.servlet.http.HttpServletRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String headerName
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/springframework/web/context/request/ServletWebRequest;
            0    1     1  headerName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      headerName  

  public java.lang.String[] getHeaderValues(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
        start local 1 // java.lang.String headerName
         0: .line 143
            aload 0 /* this */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.getRequest:()Ljavax/servlet/http/HttpServletRequest;
            aload 1 /* headerName */
            invokeinterface javax.servlet.http.HttpServletRequest.getHeaders:(Ljava/lang/String;)Ljava/util/Enumeration;
            invokestatic org.springframework.util.StringUtils.toStringArray:(Ljava/util/Enumeration;)[Ljava/lang/String;
            astore 2 /* headerValues */
        start local 2 // java.lang.String[] headerValues
         1: .line 144
            aload 2 /* headerValues */
            invokestatic org.springframework.util.ObjectUtils.isEmpty:([Ljava/lang/Object;)Z
            ifne 2
            aload 2 /* headerValues */
            goto 3
      StackMap locals: java.lang.String[]
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String[]
         3: areturn
        end local 2 // java.lang.String[] headerValues
        end local 1 // java.lang.String headerName
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/springframework/web/context/request/ServletWebRequest;
            0    4     1    headerName  Ljava/lang/String;
            1    4     2  headerValues  [Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      headerName  

  public java.util.Iterator<java.lang.String> getHeaderNames();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
         0: .line 149
            aload 0 /* this */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.getRequest:()Ljavax/servlet/http/HttpServletRequest;
            invokeinterface javax.servlet.http.HttpServletRequest.getHeaderNames:()Ljava/util/Enumeration;
            invokestatic org.springframework.util.CollectionUtils.toIterator:(Ljava/util/Enumeration;)Ljava/util/Iterator;
            areturn
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/context/request/ServletWebRequest;
    Signature: ()Ljava/util/Iterator<Ljava/lang/String;>;

  public java.lang.String getParameter(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
        start local 1 // java.lang.String paramName
         0: .line 155
            aload 0 /* this */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.getRequest:()Ljavax/servlet/http/HttpServletRequest;
            aload 1 /* paramName */
            invokeinterface javax.servlet.http.HttpServletRequest.getParameter:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String paramName
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/springframework/web/context/request/ServletWebRequest;
            0    1     1  paramName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
           Name  Flags
      paramName  

  public java.lang.String[] getParameterValues(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
        start local 1 // java.lang.String paramName
         0: .line 161
            aload 0 /* this */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.getRequest:()Ljavax/servlet/http/HttpServletRequest;
            aload 1 /* paramName */
            invokeinterface javax.servlet.http.HttpServletRequest.getParameterValues:(Ljava/lang/String;)[Ljava/lang/String;
            areturn
        end local 1 // java.lang.String paramName
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/springframework/web/context/request/ServletWebRequest;
            0    1     1  paramName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
           Name  Flags
      paramName  

  public java.util.Iterator<java.lang.String> getParameterNames();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
         0: .line 166
            aload 0 /* this */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.getRequest:()Ljavax/servlet/http/HttpServletRequest;
            invokeinterface javax.servlet.http.HttpServletRequest.getParameterNames:()Ljava/util/Enumeration;
            invokestatic org.springframework.util.CollectionUtils.toIterator:(Ljava/util/Enumeration;)Ljava/util/Iterator;
            areturn
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/context/request/ServletWebRequest;
    Signature: ()Ljava/util/Iterator<Ljava/lang/String;>;

  public java.util.Map<java.lang.String, java.lang.String[]> getParameterMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
         0: .line 171
            aload 0 /* this */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.getRequest:()Ljavax/servlet/http/HttpServletRequest;
            invokeinterface javax.servlet.http.HttpServletRequest.getParameterMap:()Ljava/util/Map;
            areturn
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/context/request/ServletWebRequest;
    Signature: ()Ljava/util/Map<Ljava/lang/String;[Ljava/lang/String;>;

  public java.util.Locale getLocale();
    descriptor: ()Ljava/util/Locale;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
         0: .line 176
            aload 0 /* this */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.getRequest:()Ljavax/servlet/http/HttpServletRequest;
            invokeinterface javax.servlet.http.HttpServletRequest.getLocale:()Ljava/util/Locale;
            areturn
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/context/request/ServletWebRequest;

  public java.lang.String getContextPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
         0: .line 181
            aload 0 /* this */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.getRequest:()Ljavax/servlet/http/HttpServletRequest;
            invokeinterface javax.servlet.http.HttpServletRequest.getContextPath:()Ljava/lang/String;
            areturn
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/context/request/ServletWebRequest;

  public java.lang.String getRemoteUser();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
         0: .line 187
            aload 0 /* this */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.getRequest:()Ljavax/servlet/http/HttpServletRequest;
            invokeinterface javax.servlet.http.HttpServletRequest.getRemoteUser:()Ljava/lang/String;
            areturn
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/context/request/ServletWebRequest;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public java.security.Principal getUserPrincipal();
    descriptor: ()Ljava/security/Principal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
         0: .line 193
            aload 0 /* this */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.getRequest:()Ljavax/servlet/http/HttpServletRequest;
            invokeinterface javax.servlet.http.HttpServletRequest.getUserPrincipal:()Ljava/security/Principal;
            areturn
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/context/request/ServletWebRequest;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public boolean isUserInRole(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
        start local 1 // java.lang.String role
         0: .line 198
            aload 0 /* this */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.getRequest:()Ljavax/servlet/http/HttpServletRequest;
            aload 1 /* role */
            invokeinterface javax.servlet.http.HttpServletRequest.isUserInRole:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String role
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/context/request/ServletWebRequest;
            0    1     1  role  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      role  

  public boolean isSecure();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
         0: .line 203
            aload 0 /* this */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.getRequest:()Ljavax/servlet/http/HttpServletRequest;
            invokeinterface javax.servlet.http.HttpServletRequest.isSecure:()Z
            ireturn
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/context/request/ServletWebRequest;

  public boolean checkNotModified(long);
    descriptor: (J)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
        start local 1 // long lastModifiedTimestamp
         0: .line 209
            aload 0 /* this */
            aconst_null
            lload 1 /* lastModifiedTimestamp */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.checkNotModified:(Ljava/lang/String;J)Z
            ireturn
        end local 1 // long lastModifiedTimestamp
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    1     0                   this  Lorg/springframework/web/context/request/ServletWebRequest;
            0    1     1  lastModifiedTimestamp  J
    MethodParameters:
                       Name  Flags
      lastModifiedTimestamp  

  public boolean checkNotModified(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
        start local 1 // java.lang.String etag
         0: .line 214
            aload 0 /* this */
            aload 1 /* etag */
            ldc -1
            invokevirtual org.springframework.web.context.request.ServletWebRequest.checkNotModified:(Ljava/lang/String;J)Z
            ireturn
        end local 1 // java.lang.String etag
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/context/request/ServletWebRequest;
            0    1     1  etag  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      etag  

  public boolean checkNotModified(java.lang.String, long);
    descriptor: (Ljava/lang/String;J)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
         0: .line 220
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe method getStatus() is undefined for the type HttpServletResponse\n\tThe method getHeader(String) is undefined for the type HttpServletResponse\n\tThe method getHeader(String) is undefined for the type HttpServletResponse\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/context/request/ServletWebRequest;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
    MethodParameters:
                       Name  Flags
      etag                   
      lastModifiedTimestamp  

  private boolean validateIfUnmodifiedSince(long);
    descriptor: (J)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
        start local 1 // long lastModifiedTimestamp
         0: .line 260
            lload 1 /* lastModifiedTimestamp */
            lconst_0
            lcmp
            ifge 2
         1: .line 261
            iconst_0
            ireturn
         2: .line 263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "If-Unmodified-Since"
            invokevirtual org.springframework.web.context.request.ServletWebRequest.parseDateHeader:(Ljava/lang/String;)J
            lstore 3 /* ifUnmodifiedSince */
        start local 3 // long ifUnmodifiedSince
         3: .line 264
            lload 3 /* ifUnmodifiedSince */
            ldc -1
            lcmp
            ifne 5
         4: .line 265
            iconst_0
            ireturn
         5: .line 268
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            lload 3 /* ifUnmodifiedSince */
            lload 1 /* lastModifiedTimestamp */
            ldc 1000
            ldiv
            ldc 1000
            lmul
            lcmp
            ifge 6
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack: org.springframework.web.context.request.ServletWebRequest
         6: iconst_0
      StackMap locals: org.springframework.web.context.request.ServletWebRequest long long
      StackMap stack: org.springframework.web.context.request.ServletWebRequest int
         7: putfield org.springframework.web.context.request.ServletWebRequest.notModified:Z
         8: .line 269
            iconst_1
            ireturn
        end local 3 // long ifUnmodifiedSince
        end local 1 // long lastModifiedTimestamp
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    9     0                   this  Lorg/springframework/web/context/request/ServletWebRequest;
            0    9     1  lastModifiedTimestamp  J
            3    9     3      ifUnmodifiedSince  J
    MethodParameters:
                       Name  Flags
      lastModifiedTimestamp  

  private boolean validateIfNoneMatch(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
        start local 1 // java.lang.String etag
         0: .line 273
            aload 1 /* etag */
            invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
            ifne 2
         1: .line 274
            iconst_0
            ireturn
         2: .line 279
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.getRequest:()Ljavax/servlet/http/HttpServletRequest;
            ldc "If-None-Match"
            invokeinterface javax.servlet.http.HttpServletRequest.getHeaders:(Ljava/lang/String;)Ljava/util/Enumeration;
            astore 2 /* ifNoneMatch */
        start local 2 // java.util.Enumeration ifNoneMatch
         3: .line 280
            goto 6
        end local 2 // java.util.Enumeration ifNoneMatch
         4: .line 281
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            pop
         5: .line 282
            iconst_0
            ireturn
        start local 2 // java.util.Enumeration ifNoneMatch
         6: .line 284
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 2 /* ifNoneMatch */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 8
         7: .line 285
            iconst_0
            ireturn
         8: .line 289
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* etag */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.padEtagIfNecessary:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* etag */
         9: .line 290
            aload 1 /* etag */
            ldc "W/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 19
        10: .line 291
            aload 1 /* etag */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* etag */
        11: .line 293
            goto 19
        12: .line 294
      StackMap locals:
      StackMap stack:
            aload 2 /* ifNoneMatch */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* clientETags */
        start local 3 // java.lang.String clientETags
        13: .line 295
            getstatic org.springframework.web.context.request.ServletWebRequest.ETAG_HEADER_VALUE_PATTERN:Ljava/util/regex/Pattern;
            aload 3 /* clientETags */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 4 /* etagMatcher */
        start local 4 // java.util.regex.Matcher etagMatcher
        14: .line 297
            goto 18
        15: .line 298
      StackMap locals: java.lang.String java.util.regex.Matcher
      StackMap stack:
            aload 4 /* etagMatcher */
            invokevirtual java.util.regex.Matcher.group:()Ljava/lang/String;
            invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
            ifeq 18
            aload 1 /* etag */
            aload 4 /* etagMatcher */
            iconst_3
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        16: .line 299
            aload 0 /* this */
            iconst_1
            putfield org.springframework.web.context.request.ServletWebRequest.notModified:Z
        17: .line 300
            goto 19
        18: .line 297
      StackMap locals:
      StackMap stack:
            aload 4 /* etagMatcher */
            invokevirtual java.util.regex.Matcher.find:()Z
            ifne 15
        end local 4 // java.util.regex.Matcher etagMatcher
        end local 3 // java.lang.String clientETags
        19: .line 293
      StackMap locals:
      StackMap stack:
            aload 2 /* ifNoneMatch */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 12
        20: .line 305
            iconst_1
            ireturn
        end local 2 // java.util.Enumeration ifNoneMatch
        end local 1 // java.lang.String etag
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0         this  Lorg/springframework/web/context/request/ServletWebRequest;
            0   21     1         etag  Ljava/lang/String;
            3    4     2  ifNoneMatch  Ljava/util/Enumeration<Ljava/lang/String;>;
            6   21     2  ifNoneMatch  Ljava/util/Enumeration<Ljava/lang/String;>;
           13   19     3  clientETags  Ljava/lang/String;
           14   19     4  etagMatcher  Ljava/util/regex/Matcher;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.IllegalArgumentException
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
      Name  Flags
      etag  

  private java.lang.String padEtagIfNecessary(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
        start local 1 // java.lang.String etag
         0: .line 309
            aload 1 /* etag */
            invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
            ifne 2
         1: .line 310
            aload 1 /* etag */
            areturn
         2: .line 312
      StackMap locals:
      StackMap stack:
            aload 1 /* etag */
            ldc "\""
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 3
            aload 1 /* etag */
            ldc "W/\""
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 5
      StackMap locals:
      StackMap stack:
         3: aload 1 /* etag */
            ldc "\""
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 313
            aload 1 /* etag */
            areturn
         5: .line 315
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* etag */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String etag
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/springframework/web/context/request/ServletWebRequest;
            0    6     1  etag  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      etag  

  private boolean validateIfModifiedSince(long);
    descriptor: (J)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
        start local 1 // long lastModifiedTimestamp
         0: .line 319
            lload 1 /* lastModifiedTimestamp */
            lconst_0
            lcmp
            ifge 2
         1: .line 320
            iconst_0
            ireturn
         2: .line 322
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "If-Modified-Since"
            invokevirtual org.springframework.web.context.request.ServletWebRequest.parseDateHeader:(Ljava/lang/String;)J
            lstore 3 /* ifModifiedSince */
        start local 3 // long ifModifiedSince
         3: .line 323
            lload 3 /* ifModifiedSince */
            ldc -1
            lcmp
            ifne 5
         4: .line 324
            iconst_0
            ireturn
         5: .line 327
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            lload 3 /* ifModifiedSince */
            lload 1 /* lastModifiedTimestamp */
            ldc 1000
            ldiv
            ldc 1000
            lmul
            lcmp
            iflt 6
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack: org.springframework.web.context.request.ServletWebRequest
         6: iconst_0
      StackMap locals: org.springframework.web.context.request.ServletWebRequest long long
      StackMap stack: org.springframework.web.context.request.ServletWebRequest int
         7: putfield org.springframework.web.context.request.ServletWebRequest.notModified:Z
         8: .line 328
            iconst_1
            ireturn
        end local 3 // long ifModifiedSince
        end local 1 // long lastModifiedTimestamp
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    9     0                   this  Lorg/springframework/web/context/request/ServletWebRequest;
            0    9     1  lastModifiedTimestamp  J
            3    9     3        ifModifiedSince  J
    MethodParameters:
                       Name  Flags
      lastModifiedTimestamp  

  public boolean isNotModified();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
         0: .line 332
            aload 0 /* this */
            getfield org.springframework.web.context.request.ServletWebRequest.notModified:Z
            ireturn
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/context/request/ServletWebRequest;

  private long parseDateHeader(java.lang.String);
    descriptor: (Ljava/lang/String;)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
        start local 1 // java.lang.String headerName
         0: .line 336
            ldc -1
            lstore 2 /* dateValue */
        start local 2 // long dateValue
         1: .line 338
            aload 0 /* this */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.getRequest:()Ljavax/servlet/http/HttpServletRequest;
            aload 1 /* headerName */
            invokeinterface javax.servlet.http.HttpServletRequest.getDateHeader:(Ljava/lang/String;)J
            lstore 2 /* dateValue */
         2: .line 339
            goto 10
         3: .line 340
      StackMap locals: org.springframework.web.context.request.ServletWebRequest java.lang.String long
      StackMap stack: java.lang.IllegalArgumentException
            pop
         4: .line 341
            aload 0 /* this */
            aload 1 /* headerName */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* headerValue */
        start local 4 // java.lang.String headerValue
         5: .line 343
            aload 4 /* headerValue */
            ifnull 10
         6: .line 344
            aload 4 /* headerValue */
            bipush 59
            invokevirtual java.lang.String.indexOf:(I)I
            istore 5 /* separatorIndex */
        start local 5 // int separatorIndex
         7: .line 345
            iload 5 /* separatorIndex */
            iconst_m1
            if_icmpeq 10
         8: .line 346
            aload 4 /* headerValue */
            iconst_0
            iload 5 /* separatorIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 6 /* datePart */
        start local 6 // java.lang.String datePart
         9: .line 347
            aload 0 /* this */
            aload 6 /* datePart */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.parseDateValue:(Ljava/lang/String;)J
            lstore 2 /* dateValue */
        end local 6 // java.lang.String datePart
        end local 5 // int separatorIndex
        end local 4 // java.lang.String headerValue
        10: .line 351
      StackMap locals:
      StackMap stack:
            lload 2 /* dateValue */
            lreturn
        end local 2 // long dateValue
        end local 1 // java.lang.String headerName
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lorg/springframework/web/context/request/ServletWebRequest;
            0   11     1      headerName  Ljava/lang/String;
            1   11     2       dateValue  J
            5   10     4     headerValue  Ljava/lang/String;
            7   10     5  separatorIndex  I
            9   10     6        datePart  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.IllegalArgumentException
    MethodParameters:
            Name  Flags
      headerName  

  private long parseDateValue(java.lang.String);
    descriptor: (Ljava/lang/String;)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
        start local 1 // java.lang.String headerValue
         0: .line 355
            aload 1 /* headerValue */
            ifnonnull 2
         1: .line 357
            ldc -1
            lreturn
         2: .line 359
      StackMap locals:
      StackMap stack:
            aload 1 /* headerValue */
            invokevirtual java.lang.String.length:()I
            iconst_3
            if_icmplt 12
         3: .line 362
            getstatic org.springframework.web.context.request.ServletWebRequest.DATE_FORMATS:[Ljava/lang/String;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 11
      StackMap locals: org.springframework.web.context.request.ServletWebRequest java.lang.String top int int java.lang.String[]
      StackMap stack:
         4: aload 5
            iload 3
            aaload
            astore 2 /* dateFormat */
        start local 2 // java.lang.String dateFormat
         5: .line 363
            new java.text.SimpleDateFormat
            dup
            aload 2 /* dateFormat */
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokespecial java.text.SimpleDateFormat.<init>:(Ljava/lang/String;Ljava/util/Locale;)V
            astore 6 /* simpleDateFormat */
        start local 6 // java.text.SimpleDateFormat simpleDateFormat
         6: .line 364
            aload 6 /* simpleDateFormat */
            getstatic org.springframework.web.context.request.ServletWebRequest.GMT:Ljava/util/TimeZone;
            invokevirtual java.text.SimpleDateFormat.setTimeZone:(Ljava/util/TimeZone;)V
         7: .line 366
            aload 6 /* simpleDateFormat */
            aload 1 /* headerValue */
            invokevirtual java.text.SimpleDateFormat.parse:(Ljava/lang/String;)Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
         8: lreturn
         9: .line 368
      StackMap locals: org.springframework.web.context.request.ServletWebRequest java.lang.String java.lang.String int int java.lang.String[] java.text.SimpleDateFormat
      StackMap stack: java.text.ParseException
            pop
        end local 6 // java.text.SimpleDateFormat simpleDateFormat
        end local 2 // java.lang.String dateFormat
        10: .line 362
            iinc 3 1
      StackMap locals: org.springframework.web.context.request.ServletWebRequest java.lang.String top int int java.lang.String[]
      StackMap stack:
        11: iload 3
            iload 4
            if_icmplt 4
        12: .line 373
      StackMap locals: org.springframework.web.context.request.ServletWebRequest java.lang.String
      StackMap stack:
            ldc -1
            lreturn
        end local 1 // java.lang.String headerValue
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   13     0              this  Lorg/springframework/web/context/request/ServletWebRequest;
            0   13     1       headerValue  Ljava/lang/String;
            5   10     2        dateFormat  Ljava/lang/String;
            6   10     6  simpleDateFormat  Ljava/text/SimpleDateFormat;
      Exception table:
        from    to  target  type
           7     8       9  Class java.text.ParseException
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
             Name  Flags
      headerValue  

  public java.lang.String getDescription(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
        start local 1 // boolean includeClientInfo
         0: .line 378
            aload 0 /* this */
            invokevirtual org.springframework.web.context.request.ServletWebRequest.getRequest:()Ljavax/servlet/http/HttpServletRequest;
            astore 2 /* request */
        start local 2 // javax.servlet.http.HttpServletRequest request
         1: .line 379
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         2: .line 380
            aload 3 /* sb */
            ldc "uri="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* request */
            invokeinterface javax.servlet.http.HttpServletRequest.getRequestURI:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 381
            iload 1 /* includeClientInfo */
            ifeq 13
         4: .line 382
            aload 2 /* request */
            invokeinterface javax.servlet.http.HttpServletRequest.getRemoteAddr:()Ljava/lang/String;
            astore 4 /* client */
        start local 4 // java.lang.String client
         5: .line 383
            aload 4 /* client */
            invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
            ifeq 7
         6: .line 384
            aload 3 /* sb */
            ldc ";client="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* client */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 386
      StackMap locals: javax.servlet.http.HttpServletRequest java.lang.StringBuilder java.lang.String
      StackMap stack:
            aload 2 /* request */
            iconst_0
            invokeinterface javax.servlet.http.HttpServletRequest.getSession:(Z)Ljavax/servlet/http/HttpSession;
            astore 5 /* session */
        start local 5 // javax.servlet.http.HttpSession session
         8: .line 387
            aload 5 /* session */
            ifnull 10
         9: .line 388
            aload 3 /* sb */
            ldc ";session="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* session */
            invokeinterface javax.servlet.http.HttpSession.getId:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 390
      StackMap locals: javax.servlet.http.HttpSession
      StackMap stack:
            aload 2 /* request */
            invokeinterface javax.servlet.http.HttpServletRequest.getRemoteUser:()Ljava/lang/String;
            astore 6 /* user */
        start local 6 // java.lang.String user
        11: .line 391
            aload 6 /* user */
            invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
            ifeq 13
        12: .line 392
            aload 3 /* sb */
            ldc ";user="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* user */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 6 // java.lang.String user
        end local 5 // javax.servlet.http.HttpSession session
        end local 4 // java.lang.String client
        13: .line 395
      StackMap locals:
      StackMap stack:
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder sb
        end local 2 // javax.servlet.http.HttpServletRequest request
        end local 1 // boolean includeClientInfo
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0               this  Lorg/springframework/web/context/request/ServletWebRequest;
            0   14     1  includeClientInfo  Z
            1   14     2            request  Ljavax/servlet/http/HttpServletRequest;
            2   14     3                 sb  Ljava/lang/StringBuilder;
            5   13     4             client  Ljava/lang/String;
            8   13     5            session  Ljavax/servlet/http/HttpSession;
           11   13     6               user  Ljava/lang/String;
    MethodParameters:
                   Name  Flags
      includeClientInfo  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.springframework.web.context.request.ServletWebRequest this
         0: .line 401
            new java.lang.StringBuilder
            dup
            ldc "ServletWebRequest: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            iconst_1
            invokevirtual org.springframework.web.context.request.ServletWebRequest.getDescription:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.springframework.web.context.request.ServletWebRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/context/request/ServletWebRequest;
}
SourceFile: "ServletWebRequest.java"