class org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler extends java.net.URLStreamHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler
  super_class: java.net.URLStreamHandler
{
  private final java.net.URL resourceURL;
    descriptor: Ljava/net/URL;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.catalina.webresources.StandardRoot root;
    descriptor: Lorg/apache/catalina/webresources/StandardRoot;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String webAppPath;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean usesClassLoaderResources;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.net.URL associatedURL;
    descriptor: Ljava/net/URL;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.net.URL, org.apache.catalina.webresources.StandardRoot, java.lang.String, boolean);
    descriptor: (Ljava/net/URL;Lorg/apache/catalina/webresources/StandardRoot;Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler this
        start local 1 // java.net.URL resourceURL
        start local 2 // org.apache.catalina.webresources.StandardRoot root
        start local 3 // java.lang.String webAppPath
        start local 4 // boolean usesClassLoaderResources
         0: .line 453
            aload 0 /* this */
            invokespecial java.net.URLStreamHandler.<init>:()V
         1: .line 451
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler.associatedURL:Ljava/net/URL;
         2: .line 455
            aload 0 /* this */
            aload 1 /* resourceURL */
            putfield org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler.resourceURL:Ljava/net/URL;
         3: .line 456
            aload 0 /* this */
            aload 2 /* root */
            putfield org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler.root:Lorg/apache/catalina/webresources/StandardRoot;
         4: .line 457
            aload 0 /* this */
            aload 3 /* webAppPath */
            putfield org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler.webAppPath:Ljava/lang/String;
         5: .line 458
            aload 0 /* this */
            iload 4 /* usesClassLoaderResources */
            putfield org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler.usesClassLoaderResources:Z
         6: .line 459
            return
        end local 4 // boolean usesClassLoaderResources
        end local 3 // java.lang.String webAppPath
        end local 2 // org.apache.catalina.webresources.StandardRoot root
        end local 1 // java.net.URL resourceURL
        end local 0 // org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    7     0                      this  Lorg/apache/catalina/webresources/CachedResource$CachedResourceURLStreamHandler;
            0    7     1               resourceURL  Ljava/net/URL;
            0    7     2                      root  Lorg/apache/catalina/webresources/StandardRoot;
            0    7     3                webAppPath  Ljava/lang/String;
            0    7     4  usesClassLoaderResources  Z
    MethodParameters:
                          Name  Flags
      resourceURL               
      root                      
      webAppPath                
      usesClassLoaderResources  

  protected void setAssociatedURL(java.net.URL);
    descriptor: (Ljava/net/URL;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler this
        start local 1 // java.net.URL associatedURL
         0: .line 462
            aload 0 /* this */
            aload 1 /* associatedURL */
            putfield org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler.associatedURL:Ljava/net/URL;
         1: .line 463
            return
        end local 1 // java.net.URL associatedURL
        end local 0 // org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/apache/catalina/webresources/CachedResource$CachedResourceURLStreamHandler;
            0    2     1  associatedURL  Ljava/net/URL;
    MethodParameters:
               Name  Flags
      associatedURL  

  protected java.net.URLConnection openConnection(java.net.URL);
    descriptor: (Ljava/net/URL;)Ljava/net/URLConnection;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler this
        start local 1 // java.net.URL u
         0: .line 470
            aload 0 /* this */
            getfield org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler.associatedURL:Ljava/net/URL;
            ifnull 4
            aload 1 /* u */
            aload 0 /* this */
            getfield org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler.associatedURL:Ljava/net/URL;
            if_acmpne 4
         1: .line 471
            ldc "jar"
            aload 0 /* this */
            getfield org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler.associatedURL:Ljava/net/URL;
            invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 472
            new org.apache.catalina.webresources.CachedResource$CachedResourceJarURLConnection
            dup
            aload 0 /* this */
            getfield org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler.resourceURL:Ljava/net/URL;
            aload 0 /* this */
            getfield org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler.root:Lorg/apache/catalina/webresources/StandardRoot;
            aload 0 /* this */
            getfield org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler.webAppPath:Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler.usesClassLoaderResources:Z
            invokespecial org.apache.catalina.webresources.CachedResource$CachedResourceJarURLConnection.<init>:(Ljava/net/URL;Lorg/apache/catalina/webresources/StandardRoot;Ljava/lang/String;Z)V
            areturn
         3: .line 474
      StackMap locals:
      StackMap stack:
            new org.apache.catalina.webresources.CachedResource$CachedResourceURLConnection
            dup
            aload 0 /* this */
            getfield org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler.resourceURL:Ljava/net/URL;
            aload 0 /* this */
            getfield org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler.root:Lorg/apache/catalina/webresources/StandardRoot;
            aload 0 /* this */
            getfield org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler.webAppPath:Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler.usesClassLoaderResources:Z
            invokespecial org.apache.catalina.webresources.CachedResource$CachedResourceURLConnection.<init>:(Ljava/net/URL;Lorg/apache/catalina/webresources/StandardRoot;Ljava/lang/String;Z)V
            areturn
         4: .line 479
      StackMap locals:
      StackMap stack:
            new java.net.URL
            dup
            aload 1 /* u */
            invokevirtual java.net.URL.toExternalForm:()Ljava/lang/String;
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            astore 2 /* constructedURL */
        start local 2 // java.net.URL constructedURL
         5: .line 480
            aload 2 /* constructedURL */
            invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
            areturn
        end local 2 // java.net.URL constructedURL
        end local 1 // java.net.URL u
        end local 0 // org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lorg/apache/catalina/webresources/CachedResource$CachedResourceURLStreamHandler;
            0    6     1               u  Ljava/net/URL;
            5    6     2  constructedURL  Ljava/net/URL;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      u     
}
SourceFile: "CachedResource.java"
NestHost: org.apache.catalina.webresources.CachedResource
InnerClasses:
  private CachedResourceJarURLConnection = org.apache.catalina.webresources.CachedResource$CachedResourceJarURLConnection of org.apache.catalina.webresources.CachedResource
  private CachedResourceURLConnection = org.apache.catalina.webresources.CachedResource$CachedResourceURLConnection of org.apache.catalina.webresources.CachedResource
  private CachedResourceURLStreamHandler = org.apache.catalina.webresources.CachedResource$CachedResourceURLStreamHandler of org.apache.catalina.webresources.CachedResource