public class org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper extends java.io.InputStream
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper
  super_class: java.io.InputStream
{
  private final java.util.jar.JarEntry jarEntry;
    descriptor: Ljava/util/jar/JarEntry;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.io.InputStream is;
    descriptor: Ljava/io/InputStream;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.atomic.AtomicBoolean closed;
    descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final org.apache.catalina.webresources.AbstractArchiveResource this$0;
    descriptor: Lorg/apache/catalina/webresources/AbstractArchiveResource;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(org.apache.catalina.webresources.AbstractArchiveResource, java.util.jar.JarEntry, java.io.InputStream);
    descriptor: (Lorg/apache/catalina/webresources/AbstractArchiveResource;Ljava/util/jar/JarEntry;Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper this
        start local 2 // java.util.jar.JarEntry jarEntry
        start local 3 // java.io.InputStream is
         0: .line 248
            aload 0 /* this */
            aload 1
            putfield org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper.this$0:Lorg/apache/catalina/webresources/AbstractArchiveResource;
            aload 0 /* this */
            invokespecial java.io.InputStream.<init>:()V
         1: .line 245
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
            putfield org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper.closed:Ljava/util/concurrent/atomic/AtomicBoolean;
         2: .line 249
            aload 0 /* this */
            aload 2 /* jarEntry */
            putfield org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper.jarEntry:Ljava/util/jar/JarEntry;
         3: .line 250
            aload 0 /* this */
            aload 3 /* is */
            putfield org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper.is:Ljava/io/InputStream;
         4: .line 251
            return
        end local 3 // java.io.InputStream is
        end local 2 // java.util.jar.JarEntry jarEntry
        end local 0 // org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/apache/catalina/webresources/AbstractArchiveResource$JarInputStreamWrapper;
            0    5     2  jarEntry  Ljava/util/jar/JarEntry;
            0    5     3        is  Ljava/io/InputStream;
    MethodParameters:
          Name  Flags
      this$0    final
      jarEntry  
      is        

  public int read();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper this
         0: .line 256
            aload 0 /* this */
            getfield org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper.is:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.read:()I
            ireturn
        end local 0 // org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/webresources/AbstractArchiveResource$JarInputStreamWrapper;
    Exceptions:
      throws java.io.IOException

  public int read(byte[]);
    descriptor: ([B)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper this
        start local 1 // byte[] b
         0: .line 262
            aload 0 /* this */
            getfield org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper.is:Ljava/io/InputStream;
            aload 1 /* b */
            invokevirtual java.io.InputStream.read:([B)I
            ireturn
        end local 1 // byte[] b
        end local 0 // org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/webresources/AbstractArchiveResource$JarInputStreamWrapper;
            0    1     1     b  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     

  public int read(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
         0: .line 268
            aload 0 /* this */
            getfield org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper.is:Ljava/io/InputStream;
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual java.io.InputStream.read:([BII)I
            ireturn
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/webresources/AbstractArchiveResource$JarInputStreamWrapper;
            0    1     1     b  [B
            0    1     2   off  I
            0    1     3   len  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     
      off   
      len   

  public long skip(long);
    descriptor: (J)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper this
        start local 1 // long n
         0: .line 274
            aload 0 /* this */
            getfield org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper.is:Ljava/io/InputStream;
            lload 1 /* n */
            invokevirtual java.io.InputStream.skip:(J)J
            lreturn
        end local 1 // long n
        end local 0 // org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/webresources/AbstractArchiveResource$JarInputStreamWrapper;
            0    1     1     n  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      n     

  public int available();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper this
         0: .line 280
            aload 0 /* this */
            getfield org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper.is:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.available:()I
            ireturn
        end local 0 // org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/webresources/AbstractArchiveResource$JarInputStreamWrapper;
    Exceptions:
      throws java.io.IOException

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper this
         0: .line 286
            aload 0 /* this */
            getfield org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper.closed:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_0
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
            ifeq 2
         1: .line 288
            aload 0 /* this */
            getfield org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper.this$0:Lorg/apache/catalina/webresources/AbstractArchiveResource;
            getfield org.apache.catalina.webresources.AbstractArchiveResource.archiveResourceSet:Lorg/apache/catalina/webresources/AbstractArchiveResourceSet;
            invokevirtual org.apache.catalina.webresources.AbstractArchiveResourceSet.closeJarFile:()V
         2: .line 290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper.is:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
         3: .line 291
            return
        end local 0 // org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/catalina/webresources/AbstractArchiveResource$JarInputStreamWrapper;
    Exceptions:
      throws java.io.IOException

  public synchronized void mark(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper this
        start local 1 // int readlimit
         0: .line 296
            aload 0 /* this */
            getfield org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper.is:Ljava/io/InputStream;
            iload 1 /* readlimit */
            invokevirtual java.io.InputStream.mark:(I)V
         1: .line 297
            return
        end local 1 // int readlimit
        end local 0 // org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/apache/catalina/webresources/AbstractArchiveResource$JarInputStreamWrapper;
            0    2     1  readlimit  I
    MethodParameters:
           Name  Flags
      readlimit  

  public synchronized void reset();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper this
         0: .line 302
            aload 0 /* this */
            getfield org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper.is:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.reset:()V
         1: .line 303
            return
        end local 0 // org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/catalina/webresources/AbstractArchiveResource$JarInputStreamWrapper;
    Exceptions:
      throws java.io.IOException

  public boolean markSupported();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper this
         0: .line 308
            aload 0 /* this */
            getfield org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper.is:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.markSupported:()Z
            ireturn
        end local 0 // org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/webresources/AbstractArchiveResource$JarInputStreamWrapper;

  public java.security.cert.Certificate[] getCertificates();
    descriptor: ()[Ljava/security/cert/Certificate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper this
         0: .line 312
            aload 0 /* this */
            getfield org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper.jarEntry:Ljava/util/jar/JarEntry;
            invokevirtual java.util.jar.JarEntry.getCertificates:()[Ljava/security/cert/Certificate;
            areturn
        end local 0 // org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/webresources/AbstractArchiveResource$JarInputStreamWrapper;
}
SourceFile: "AbstractArchiveResource.java"
NestHost: org.apache.catalina.webresources.AbstractArchiveResource
InnerClasses:
  protected JarInputStreamWrapper = org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper of org.apache.catalina.webresources.AbstractArchiveResource