public class org.springframework.core.io.support.PathMatchingResourcePatternResolver implements org.springframework.core.io.support.ResourcePatternResolver
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.core.io.support.PathMatchingResourcePatternResolver
  super_class: java.lang.Object
{
  private static final org.apache.commons.logging.Log logger;
    descriptor: Lorg/apache/commons/logging/Log;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static java.lang.reflect.Method equinoxResolveMethod;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private final org.springframework.core.io.ResourceLoader resourceLoader;
    descriptor: Lorg/springframework/core/io/ResourceLoader;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.springframework.util.PathMatcher pathMatcher;
    descriptor: Lorg/springframework/util/PathMatcher;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=1, args_size=0
         0: .line 185
            ldc Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
            invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
            putstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
         1: .line 193
            ldc "org.eclipse.core.runtime.FileLocator"
         2: .line 194
            ldc Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
         3: .line 193
            invokestatic org.springframework.util.ClassUtils.forName:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
            astore 0 /* fileLocatorClass */
        start local 0 // java.lang.Class fileLocatorClass
         4: .line 195
            aload 0 /* fileLocatorClass */
            ldc "resolve"
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/net/URL;
            aastore
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.equinoxResolveMethod:Ljava/lang/reflect/Method;
         5: .line 196
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            ldc "Found Equinox FileLocator for OSGi bundle URL resolution"
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
        end local 0 // java.lang.Class fileLocatorClass
         6: .line 197
            goto 9
         7: .line 198
      StackMap locals:
      StackMap stack: java.lang.Throwable
            pop
         8: .line 199
            aconst_null
            putstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.equinoxResolveMethod:Ljava/lang/reflect/Method;
         9: .line 201
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            4    6     0  fileLocatorClass  Ljava/lang/Class<*>;
      Exception table:
        from    to  target  type
           1     6       7  Class java.lang.Throwable

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
         0: .line 214
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 206
            aload 0 /* this */
            new org.springframework.util.AntPathMatcher
            dup
            invokespecial org.springframework.util.AntPathMatcher.<init>:()V
            putfield org.springframework.core.io.support.PathMatchingResourcePatternResolver.pathMatcher:Lorg/springframework/util/PathMatcher;
         2: .line 215
            aload 0 /* this */
            new org.springframework.core.io.DefaultResourceLoader
            dup
            invokespecial org.springframework.core.io.DefaultResourceLoader.<init>:()V
            putfield org.springframework.core.io.support.PathMatchingResourcePatternResolver.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
         3: .line 216
            return
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;

  public void <init>(org.springframework.core.io.ResourceLoader);
    descriptor: (Lorg/springframework/core/io/ResourceLoader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
        start local 1 // org.springframework.core.io.ResourceLoader resourceLoader
         0: .line 224
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 206
            aload 0 /* this */
            new org.springframework.util.AntPathMatcher
            dup
            invokespecial org.springframework.util.AntPathMatcher.<init>:()V
            putfield org.springframework.core.io.support.PathMatchingResourcePatternResolver.pathMatcher:Lorg/springframework/util/PathMatcher;
         2: .line 225
            aload 1 /* resourceLoader */
            ldc "ResourceLoader must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         3: .line 226
            aload 0 /* this */
            aload 1 /* resourceLoader */
            putfield org.springframework.core.io.support.PathMatchingResourcePatternResolver.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
         4: .line 227
            return
        end local 1 // org.springframework.core.io.ResourceLoader resourceLoader
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
            0    5     1  resourceLoader  Lorg/springframework/core/io/ResourceLoader;
    MethodParameters:
                Name  Flags
      resourceLoader  

  public void <init>(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
        start local 1 // java.lang.ClassLoader classLoader
         0: .line 236
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 206
            aload 0 /* this */
            new org.springframework.util.AntPathMatcher
            dup
            invokespecial org.springframework.util.AntPathMatcher.<init>:()V
            putfield org.springframework.core.io.support.PathMatchingResourcePatternResolver.pathMatcher:Lorg/springframework/util/PathMatcher;
         2: .line 237
            aload 0 /* this */
            new org.springframework.core.io.DefaultResourceLoader
            dup
            aload 1 /* classLoader */
            invokespecial org.springframework.core.io.DefaultResourceLoader.<init>:(Ljava/lang/ClassLoader;)V
            putfield org.springframework.core.io.support.PathMatchingResourcePatternResolver.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
         3: .line 238
            return
        end local 1 // java.lang.ClassLoader classLoader
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
            0    4     1  classLoader  Ljava/lang/ClassLoader;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
             Name  Flags
      classLoader  

  public org.springframework.core.io.ResourceLoader getResourceLoader();
    descriptor: ()Lorg/springframework/core/io/ResourceLoader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
         0: .line 245
            aload 0 /* this */
            getfield org.springframework.core.io.support.PathMatchingResourcePatternResolver.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
            areturn
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;

  public java.lang.ClassLoader getClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
         0: .line 251
            aload 0 /* this */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.getResourceLoader:()Lorg/springframework/core/io/ResourceLoader;
            invokeinterface org.springframework.core.io.ResourceLoader.getClassLoader:()Ljava/lang/ClassLoader;
            areturn
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public void setPathMatcher(org.springframework.util.PathMatcher);
    descriptor: (Lorg/springframework/util/PathMatcher;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
        start local 1 // org.springframework.util.PathMatcher pathMatcher
         0: .line 260
            aload 1 /* pathMatcher */
            ldc "PathMatcher must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 261
            aload 0 /* this */
            aload 1 /* pathMatcher */
            putfield org.springframework.core.io.support.PathMatchingResourcePatternResolver.pathMatcher:Lorg/springframework/util/PathMatcher;
         2: .line 262
            return
        end local 1 // org.springframework.util.PathMatcher pathMatcher
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
            0    3     1  pathMatcher  Lorg/springframework/util/PathMatcher;
    MethodParameters:
             Name  Flags
      pathMatcher  

  public org.springframework.util.PathMatcher getPathMatcher();
    descriptor: ()Lorg/springframework/util/PathMatcher;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
         0: .line 268
            aload 0 /* this */
            getfield org.springframework.core.io.support.PathMatchingResourcePatternResolver.pathMatcher:Lorg/springframework/util/PathMatcher;
            areturn
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;

  public org.springframework.core.io.Resource getResource(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/springframework/core/io/Resource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
        start local 1 // java.lang.String location
         0: .line 274
            aload 0 /* this */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.getResourceLoader:()Lorg/springframework/core/io/ResourceLoader;
            aload 1 /* location */
            invokeinterface org.springframework.core.io.ResourceLoader.getResource:(Ljava/lang/String;)Lorg/springframework/core/io/Resource;
            areturn
        end local 1 // java.lang.String location
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
            0    1     1  location  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      location  

  public org.springframework.core.io.Resource[] getResources(java.lang.String);
    descriptor: (Ljava/lang/String;)[Lorg/springframework/core/io/Resource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
        start local 1 // java.lang.String locationPattern
         0: .line 279
            aload 1 /* locationPattern */
            ldc "Location pattern must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 280
            aload 1 /* locationPattern */
            ldc "classpath*:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 5
         2: .line 282
            aload 0 /* this */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.getPathMatcher:()Lorg/springframework/util/PathMatcher;
            aload 1 /* locationPattern */
            ldc "classpath*:"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokeinterface org.springframework.util.PathMatcher.isPattern:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 284
            aload 0 /* this */
            aload 1 /* locationPattern */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.findPathMatchingResources:(Ljava/lang/String;)[Lorg/springframework/core/io/Resource;
            areturn
         4: .line 288
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* locationPattern */
            ldc "classpath*:"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.findAllClassPathResources:(Ljava/lang/String;)[Lorg/springframework/core/io/Resource;
            areturn
         5: .line 294
      StackMap locals:
      StackMap stack:
            aload 1 /* locationPattern */
            ldc "war:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 6
            aload 1 /* locationPattern */
            ldc "*/"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_1
            iadd
            goto 7
         6: .line 295
      StackMap locals:
      StackMap stack:
            aload 1 /* locationPattern */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
         7: .line 294
      StackMap locals:
      StackMap stack: int
            istore 2 /* prefixEnd */
        start local 2 // int prefixEnd
         8: .line 296
            aload 0 /* this */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.getPathMatcher:()Lorg/springframework/util/PathMatcher;
            aload 1 /* locationPattern */
            iload 2 /* prefixEnd */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokeinterface org.springframework.util.PathMatcher.isPattern:(Ljava/lang/String;)Z
            ifeq 10
         9: .line 298
            aload 0 /* this */
            aload 1 /* locationPattern */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.findPathMatchingResources:(Ljava/lang/String;)[Lorg/springframework/core/io/Resource;
            areturn
        10: .line 302
      StackMap locals: int
      StackMap stack:
            iconst_1
            anewarray org.springframework.core.io.Resource
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.getResourceLoader:()Lorg/springframework/core/io/ResourceLoader;
            aload 1 /* locationPattern */
            invokeinterface org.springframework.core.io.ResourceLoader.getResource:(Ljava/lang/String;)Lorg/springframework/core/io/Resource;
            aastore
            areturn
        end local 2 // int prefixEnd
        end local 1 // java.lang.String locationPattern
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
            0   11     1  locationPattern  Ljava/lang/String;
            8   11     2        prefixEnd  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                 Name  Flags
      locationPattern  

  protected org.springframework.core.io.Resource[] findAllClassPathResources(java.lang.String);
    descriptor: (Ljava/lang/String;)[Lorg/springframework/core/io/Resource;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
        start local 1 // java.lang.String location
         0: .line 317
            aload 1 /* location */
            astore 2 /* path */
        start local 2 // java.lang.String path
         1: .line 318
            aload 2 /* path */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 319
            aload 2 /* path */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 2 /* path */
         3: .line 321
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 2 /* path */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.doFindAllClassPathResources:(Ljava/lang/String;)Ljava/util/Set;
            astore 3 /* result */
        start local 3 // java.util.Set result
         4: .line 322
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
            ifeq 6
         5: .line 323
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Resolved classpath location ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* location */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] to resources "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* result */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
         6: .line 325
      StackMap locals: java.util.Set
      StackMap stack:
            aload 3 /* result */
            iconst_0
            anewarray org.springframework.core.io.Resource
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.springframework.core.io.Resource[]
            areturn
        end local 3 // java.util.Set result
        end local 2 // java.lang.String path
        end local 1 // java.lang.String location
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
            0    7     1  location  Ljava/lang/String;
            1    7     2      path  Ljava/lang/String;
            4    7     3    result  Ljava/util/Set<Lorg/springframework/core/io/Resource;>;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      location  

  protected java.util.Set<org.springframework.core.io.Resource> doFindAllClassPathResources(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Set;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
        start local 1 // java.lang.String path
         0: .line 336
            new java.util.LinkedHashSet
            dup
            bipush 16
            invokespecial java.util.LinkedHashSet.<init>:(I)V
            astore 2 /* result */
        start local 2 // java.util.Set result
         1: .line 337
            aload 0 /* this */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.getClassLoader:()Ljava/lang/ClassLoader;
            astore 3 /* cl */
        start local 3 // java.lang.ClassLoader cl
         2: .line 338
            aload 3 /* cl */
            ifnull 3
            aload 3 /* cl */
            aload 1 /* path */
            invokevirtual java.lang.ClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
            goto 4
      StackMap locals: java.util.Set java.lang.ClassLoader
      StackMap stack:
         3: aload 1 /* path */
            invokestatic java.lang.ClassLoader.getSystemResources:(Ljava/lang/String;)Ljava/util/Enumeration;
      StackMap locals:
      StackMap stack: java.util.Enumeration
         4: astore 4 /* resourceUrls */
        start local 4 // java.util.Enumeration resourceUrls
         5: .line 339
            goto 8
         6: .line 340
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 4 /* resourceUrls */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.net.URL
            astore 5 /* url */
        start local 5 // java.net.URL url
         7: .line 341
            aload 2 /* result */
            aload 0 /* this */
            aload 5 /* url */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.convertClassLoaderURL:(Ljava/net/URL;)Lorg/springframework/core/io/Resource;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.net.URL url
         8: .line 339
      StackMap locals:
      StackMap stack:
            aload 4 /* resourceUrls */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 6
         9: .line 343
            ldc ""
            aload 1 /* path */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 346
            aload 0 /* this */
            aload 3 /* cl */
            aload 2 /* result */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.addAllClassLoaderJarRoots:(Ljava/lang/ClassLoader;Ljava/util/Set;)V
        11: .line 348
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 4 // java.util.Enumeration resourceUrls
        end local 3 // java.lang.ClassLoader cl
        end local 2 // java.util.Set result
        end local 1 // java.lang.String path
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
            0   12     1          path  Ljava/lang/String;
            1   12     2        result  Ljava/util/Set<Lorg/springframework/core/io/Resource;>;
            2   12     3            cl  Ljava/lang/ClassLoader;
            5   12     4  resourceUrls  Ljava/util/Enumeration<Ljava/net/URL;>;
            7    8     5           url  Ljava/net/URL;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/String;)Ljava/util/Set<Lorg/springframework/core/io/Resource;>;
    MethodParameters:
      Name  Flags
      path  

  protected org.springframework.core.io.Resource convertClassLoaderURL(java.net.URL);
    descriptor: (Ljava/net/URL;)Lorg/springframework/core/io/Resource;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
        start local 1 // java.net.URL url
         0: .line 360
            new org.springframework.core.io.UrlResource
            dup
            aload 1 /* url */
            invokespecial org.springframework.core.io.UrlResource.<init>:(Ljava/net/URL;)V
            areturn
        end local 1 // java.net.URL url
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
            0    1     1   url  Ljava/net/URL;
    MethodParameters:
      Name  Flags
      url   

  protected void addAllClassLoaderJarRoots(java.lang.ClassLoader, java.util.Set<org.springframework.core.io.Resource>);
    descriptor: (Ljava/lang/ClassLoader;Ljava/util/Set;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
        start local 1 // java.lang.ClassLoader classLoader
        start local 2 // java.util.Set result
         0: .line 371
            aload 1 /* classLoader */
            instanceof java.net.URLClassLoader
            ifeq 23
         1: .line 373
            aload 1 /* classLoader */
            checkcast java.net.URLClassLoader
            invokevirtual java.net.URLClassLoader.getURLs:()[Ljava/net/URL;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 16
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver java.lang.ClassLoader java.util.Set top int int java.net.URL[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* url */
        start local 3 // java.net.URL url
         3: .line 375
            ldc "jar"
            aload 3 /* url */
            invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 376
            new org.springframework.core.io.UrlResource
            dup
            aload 3 /* url */
            invokespecial org.springframework.core.io.UrlResource.<init>:(Ljava/net/URL;)V
            goto 6
         5: .line 377
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver java.lang.ClassLoader java.util.Set java.net.URL int int java.net.URL[]
      StackMap stack:
            new org.springframework.core.io.UrlResource
            dup
            new java.lang.StringBuilder
            dup
            ldc "jar:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* url */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "!/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.springframework.core.io.UrlResource.<init>:(Ljava/lang/String;)V
         6: .line 375
      StackMap locals:
      StackMap stack: org.springframework.core.io.UrlResource
            astore 7 /* jarResource */
        start local 7 // org.springframework.core.io.UrlResource jarResource
         7: .line 378
            aload 7 /* jarResource */
            invokevirtual org.springframework.core.io.UrlResource.exists:()Z
            ifeq 15
         8: .line 379
            aload 2 /* result */
            aload 7 /* jarResource */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // org.springframework.core.io.UrlResource jarResource
         9: .line 381
            goto 15
        10: .line 382
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
            astore 7 /* ex */
        start local 7 // java.net.MalformedURLException ex
        11: .line 383
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 15
        12: .line 384
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Cannot search for matching files underneath ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* url */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        13: .line 385
            ldc "] because it cannot be converted to a valid 'jar:' URL: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* ex */
            invokevirtual java.net.MalformedURLException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 384
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        end local 7 // java.net.MalformedURLException ex
        end local 3 // java.net.URL url
        15: .line 373
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver java.lang.ClassLoader java.util.Set top int int java.net.URL[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        16: iload 4
            iload 5
            if_icmplt 2
        17: .line 389
            goto 23
        18: .line 390
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver java.lang.ClassLoader java.util.Set
      StackMap stack: java.lang.Exception
            astore 3 /* ex */
        start local 3 // java.lang.Exception ex
        19: .line 391
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 23
        20: .line 392
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Cannot introspect jar files since ClassLoader ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* classLoader */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        21: .line 393
            ldc "] does not support 'getURLs()': "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* ex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 392
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        end local 3 // java.lang.Exception ex
        23: .line 398
      StackMap locals:
      StackMap stack:
            aload 1 /* classLoader */
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            if_acmpne 25
        24: .line 400
            aload 0 /* this */
            aload 2 /* result */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.addClassPathManifestEntries:(Ljava/util/Set;)V
        25: .line 403
      StackMap locals:
      StackMap stack:
            aload 1 /* classLoader */
            ifnull 33
        26: .line 406
            aload 0 /* this */
            aload 1 /* classLoader */
            invokevirtual java.lang.ClassLoader.getParent:()Ljava/lang/ClassLoader;
            aload 2 /* result */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.addAllClassLoaderJarRoots:(Ljava/lang/ClassLoader;Ljava/util/Set;)V
        27: .line 407
            goto 33
        28: .line 408
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* ex */
        start local 3 // java.lang.Exception ex
        29: .line 409
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 33
        30: .line 410
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Cannot introspect jar files in parent ClassLoader since ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* classLoader */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        31: .line 411
            ldc "] does not support 'getParent()': "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* ex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 410
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        end local 3 // java.lang.Exception ex
        33: .line 415
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Set result
        end local 1 // java.lang.ClassLoader classLoader
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   34     0         this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
            0   34     1  classLoader  Ljava/lang/ClassLoader;
            0   34     2       result  Ljava/util/Set<Lorg/springframework/core/io/Resource;>;
            3   15     3          url  Ljava/net/URL;
            7    9     7  jarResource  Lorg/springframework/core/io/UrlResource;
           11   15     7           ex  Ljava/net/MalformedURLException;
           19   23     3           ex  Ljava/lang/Exception;
           29   33     3           ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     9      10  Class java.net.MalformedURLException
           1    17      18  Class java.lang.Exception
          26    27      28  Class java.lang.Exception
    Signature: (Ljava/lang/ClassLoader;Ljava/util/Set<Lorg/springframework/core/io/Resource;>;)V
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
    MethodParameters:
             Name  Flags
      classLoader  
      result       

  protected void addClassPathManifestEntries(java.util.Set<org.springframework.core.io.Resource>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
        start local 1 // java.util.Set result
         0: .line 425
            ldc "java.class.path"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* javaClassPathProperty */
        start local 2 // java.lang.String javaClassPathProperty
         1: .line 427
            aload 2 /* javaClassPathProperty */
            ldc "path.separator"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
         2: .line 426
            invokestatic org.springframework.util.StringUtils.delimitedListToStringArray:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 20
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver java.util.Set java.lang.String top int int java.lang.String[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* path */
        start local 3 // java.lang.String path
         4: .line 429
            new java.io.File
            dup
            aload 3 /* path */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            astore 7 /* filePath */
        start local 7 // java.lang.String filePath
         5: .line 430
            aload 7 /* filePath */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 8 /* prefixIndex */
        start local 8 // int prefixIndex
         6: .line 431
            iload 8 /* prefixIndex */
            iconst_1
            if_icmpne 8
         7: .line 433
            aload 7 /* filePath */
            invokestatic org.springframework.util.StringUtils.capitalize:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* filePath */
         8: .line 435
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver java.util.Set java.lang.String java.lang.String int int java.lang.String[] java.lang.String int
      StackMap stack:
            new org.springframework.core.io.UrlResource
            dup
            new java.lang.StringBuilder
            dup
            ldc "jar:file:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 436
            aload 7 /* filePath */
            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;
        10: .line 435
            invokespecial org.springframework.core.io.UrlResource.<init>:(Ljava/lang/String;)V
            astore 9 /* jarResource */
        start local 9 // org.springframework.core.io.UrlResource jarResource
        11: .line 438
            aload 1 /* result */
            aload 9 /* jarResource */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 19
            aload 0 /* this */
            aload 7 /* filePath */
            aload 1 /* result */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.hasDuplicate:(Ljava/lang/String;Ljava/util/Set;)Z
            ifne 19
            aload 9 /* jarResource */
            invokevirtual org.springframework.core.io.UrlResource.exists:()Z
            ifeq 19
        12: .line 439
            aload 1 /* result */
            aload 9 /* jarResource */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // org.springframework.core.io.UrlResource jarResource
        end local 8 // int prefixIndex
        end local 7 // java.lang.String filePath
        13: .line 441
            goto 19
        14: .line 442
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver java.util.Set java.lang.String java.lang.String int int java.lang.String[]
      StackMap stack: java.net.MalformedURLException
            astore 7 /* ex */
        start local 7 // java.net.MalformedURLException ex
        15: .line 443
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 19
        16: .line 444
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Cannot search for matching files underneath ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 445
            ldc "] because it cannot be converted to a valid 'jar:' URL: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* ex */
            invokevirtual java.net.MalformedURLException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 444
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        end local 7 // java.net.MalformedURLException ex
        end local 3 // java.lang.String path
        19: .line 426
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver java.util.Set java.lang.String top int int java.lang.String[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        20: iload 4
            iload 5
            if_icmplt 3
        end local 2 // java.lang.String javaClassPathProperty
        21: .line 449
            goto 25
        22: .line 450
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver java.util.Set
      StackMap stack: java.lang.Exception
            astore 2 /* ex */
        start local 2 // java.lang.Exception ex
        23: .line 451
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 25
        24: .line 452
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Failed to evaluate 'java.class.path' manifest entries: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        end local 2 // java.lang.Exception ex
        25: .line 455
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Set result
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   26     0                   this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
            0   26     1                 result  Ljava/util/Set<Lorg/springframework/core/io/Resource;>;
            1   21     2  javaClassPathProperty  Ljava/lang/String;
            4   19     3                   path  Ljava/lang/String;
            5   13     7               filePath  Ljava/lang/String;
            6   13     8            prefixIndex  I
           11   13     9            jarResource  Lorg/springframework/core/io/UrlResource;
           15   19     7                     ex  Ljava/net/MalformedURLException;
           23   25     2                     ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           4    13      14  Class java.net.MalformedURLException
           0    21      22  Class java.lang.Exception
    Signature: (Ljava/util/Set<Lorg/springframework/core/io/Resource;>;)V
    MethodParameters:
        Name  Flags
      result  

  private boolean hasDuplicate(java.lang.String, java.util.Set<org.springframework.core.io.Resource>);
    descriptor: (Ljava/lang/String;Ljava/util/Set;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
        start local 1 // java.lang.String filePath
        start local 2 // java.util.Set result
         0: .line 466
            aload 2 /* result */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 2
         1: .line 467
            iconst_0
            ireturn
         2: .line 469
      StackMap locals:
      StackMap stack:
            aload 1 /* filePath */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
            aload 1 /* filePath */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            goto 4
      StackMap locals:
      StackMap stack:
         3: new java.lang.StringBuilder
            dup
            ldc "/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* filePath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         4: astore 3 /* duplicatePath */
        start local 3 // java.lang.String duplicatePath
         5: .line 471
            aload 2 /* result */
            new org.springframework.core.io.UrlResource
            dup
            new java.lang.StringBuilder
            dup
            ldc "jar:file:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 472
            aload 3 /* duplicatePath */
            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;
            invokespecial org.springframework.core.io.UrlResource.<init>:(Ljava/lang/String;)V
         7: .line 471
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
         8: ireturn
         9: .line 474
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver java.lang.String java.util.Set java.lang.String
      StackMap stack: java.net.MalformedURLException
            pop
        10: .line 476
            iconst_0
            ireturn
        end local 3 // java.lang.String duplicatePath
        end local 2 // java.util.Set result
        end local 1 // java.lang.String filePath
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
            0   11     1       filePath  Ljava/lang/String;
            0   11     2         result  Ljava/util/Set<Lorg/springframework/core/io/Resource;>;
            5   11     3  duplicatePath  Ljava/lang/String;
      Exception table:
        from    to  target  type
           5     8       9  Class java.net.MalformedURLException
    Signature: (Ljava/lang/String;Ljava/util/Set<Lorg/springframework/core/io/Resource;>;)Z
    MethodParameters:
          Name  Flags
      filePath  
      result    

  protected org.springframework.core.io.Resource[] findPathMatchingResources(java.lang.String);
    descriptor: (Ljava/lang/String;)[Lorg/springframework/core/io/Resource;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=12, args_size=2
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
        start local 1 // java.lang.String locationPattern
         0: .line 492
            aload 0 /* this */
            aload 1 /* locationPattern */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.determineRootDir:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* rootDirPath */
        start local 2 // java.lang.String rootDirPath
         1: .line 493
            aload 1 /* locationPattern */
            aload 2 /* rootDirPath */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* subPattern */
        start local 3 // java.lang.String subPattern
         2: .line 494
            aload 0 /* this */
            aload 2 /* rootDirPath */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.getResources:(Ljava/lang/String;)[Lorg/springframework/core/io/Resource;
            astore 4 /* rootDirResources */
        start local 4 // org.springframework.core.io.Resource[] rootDirResources
         3: .line 495
            new java.util.LinkedHashSet
            dup
            bipush 16
            invokespecial java.util.LinkedHashSet.<init>:(I)V
            astore 5 /* result */
        start local 5 // java.util.Set result
         4: .line 496
            aload 4 /* rootDirResources */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 21
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver java.lang.String java.lang.String java.lang.String org.springframework.core.io.Resource[] java.util.Set top int int org.springframework.core.io.Resource[]
      StackMap stack:
         5: aload 9
            iload 7
            aaload
            astore 6 /* rootDirResource */
        start local 6 // org.springframework.core.io.Resource rootDirResource
         6: .line 497
            aload 0 /* this */
            aload 6 /* rootDirResource */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.resolveRootDirResource:(Lorg/springframework/core/io/Resource;)Lorg/springframework/core/io/Resource;
            astore 6 /* rootDirResource */
         7: .line 498
            aload 6 /* rootDirResource */
            invokeinterface org.springframework.core.io.Resource.getURL:()Ljava/net/URL;
            astore 10 /* rootDirUrl */
        start local 10 // java.net.URL rootDirUrl
         8: .line 499
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.equinoxResolveMethod:Ljava/lang/reflect/Method;
            ifnull 13
            aload 10 /* rootDirUrl */
            invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
            ldc "bundle"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 13
         9: .line 500
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.equinoxResolveMethod:Ljava/lang/reflect/Method;
            aconst_null
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* rootDirUrl */
            aastore
            invokestatic org.springframework.util.ReflectionUtils.invokeMethod:(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.net.URL
            astore 11 /* resolvedUrl */
        start local 11 // java.net.URL resolvedUrl
        10: .line 501
            aload 11 /* resolvedUrl */
            ifnull 12
        11: .line 502
            aload 11 /* resolvedUrl */
            astore 10 /* rootDirUrl */
        12: .line 504
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver java.lang.String java.lang.String java.lang.String org.springframework.core.io.Resource[] java.util.Set org.springframework.core.io.Resource int int org.springframework.core.io.Resource[] java.net.URL java.net.URL
      StackMap stack:
            new org.springframework.core.io.UrlResource
            dup
            aload 10 /* rootDirUrl */
            invokespecial org.springframework.core.io.UrlResource.<init>:(Ljava/net/URL;)V
            astore 6 /* rootDirResource */
        end local 11 // java.net.URL resolvedUrl
        13: .line 506
      StackMap locals:
      StackMap stack:
            aload 10 /* rootDirUrl */
            invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
            ldc "vfs"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 16
        14: .line 507
            aload 5 /* result */
            aload 10 /* rootDirUrl */
            aload 3 /* subPattern */
            aload 0 /* this */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.getPathMatcher:()Lorg/springframework/util/PathMatcher;
            invokestatic org.springframework.core.io.support.PathMatchingResourcePatternResolver$VfsResourceMatchingDelegate.findMatchingResources:(Ljava/net/URL;Ljava/lang/String;Lorg/springframework/util/PathMatcher;)Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        15: .line 508
            goto 20
        16: .line 509
      StackMap locals:
      StackMap stack:
            aload 10 /* rootDirUrl */
            invokestatic org.springframework.util.ResourceUtils.isJarURL:(Ljava/net/URL;)Z
            ifne 17
            aload 0 /* this */
            aload 6 /* rootDirResource */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.isJarResource:(Lorg/springframework/core/io/Resource;)Z
            ifeq 19
        17: .line 510
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            aload 0 /* this */
            aload 6 /* rootDirResource */
            aload 10 /* rootDirUrl */
            aload 3 /* subPattern */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.doFindPathMatchingJarResources:(Lorg/springframework/core/io/Resource;Ljava/net/URL;Ljava/lang/String;)Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        18: .line 511
            goto 20
        19: .line 513
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            aload 0 /* this */
            aload 6 /* rootDirResource */
            aload 3 /* subPattern */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.doFindPathMatchingFileResources:(Lorg/springframework/core/io/Resource;Ljava/lang/String;)Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 10 // java.net.URL rootDirUrl
        end local 6 // org.springframework.core.io.Resource rootDirResource
        20: .line 496
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver java.lang.String java.lang.String java.lang.String org.springframework.core.io.Resource[] java.util.Set top int int org.springframework.core.io.Resource[]
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        21: iload 7
            iload 8
            if_icmplt 5
        22: .line 516
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
            ifeq 24
        23: .line 517
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Resolved location pattern ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* locationPattern */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] to resources "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* result */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
        24: .line 519
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver java.lang.String java.lang.String java.lang.String org.springframework.core.io.Resource[] java.util.Set
      StackMap stack:
            aload 5 /* result */
            iconst_0
            anewarray org.springframework.core.io.Resource
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.springframework.core.io.Resource[]
            areturn
        end local 5 // java.util.Set result
        end local 4 // org.springframework.core.io.Resource[] rootDirResources
        end local 3 // java.lang.String subPattern
        end local 2 // java.lang.String rootDirPath
        end local 1 // java.lang.String locationPattern
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   25     0              this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
            0   25     1   locationPattern  Ljava/lang/String;
            1   25     2       rootDirPath  Ljava/lang/String;
            2   25     3        subPattern  Ljava/lang/String;
            3   25     4  rootDirResources  [Lorg/springframework/core/io/Resource;
            4   25     5            result  Ljava/util/Set<Lorg/springframework/core/io/Resource;>;
            6   20     6   rootDirResource  Lorg/springframework/core/io/Resource;
            8   20    10        rootDirUrl  Ljava/net/URL;
           10   13    11       resolvedUrl  Ljava/net/URL;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                 Name  Flags
      locationPattern  

  protected java.lang.String determineRootDir(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
        start local 1 // java.lang.String location
         0: .line 535
            aload 1 /* location */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
            istore 2 /* prefixEnd */
        start local 2 // int prefixEnd
         1: .line 536
            aload 1 /* location */
            invokevirtual java.lang.String.length:()I
            istore 3 /* rootDirEnd */
        start local 3 // int rootDirEnd
         2: .line 537
            goto 4
         3: .line 538
      StackMap locals: int int
      StackMap stack:
            aload 1 /* location */
            bipush 47
            iload 3 /* rootDirEnd */
            iconst_2
            isub
            invokevirtual java.lang.String.lastIndexOf:(II)I
            iconst_1
            iadd
            istore 3 /* rootDirEnd */
         4: .line 537
      StackMap locals:
      StackMap stack:
            iload 3 /* rootDirEnd */
            iload 2 /* prefixEnd */
            if_icmple 5
            aload 0 /* this */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.getPathMatcher:()Lorg/springframework/util/PathMatcher;
            aload 1 /* location */
            iload 2 /* prefixEnd */
            iload 3 /* rootDirEnd */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokeinterface org.springframework.util.PathMatcher.isPattern:(Ljava/lang/String;)Z
            ifne 3
         5: .line 540
      StackMap locals:
      StackMap stack:
            iload 3 /* rootDirEnd */
            ifne 7
         6: .line 541
            iload 2 /* prefixEnd */
            istore 3 /* rootDirEnd */
         7: .line 543
      StackMap locals:
      StackMap stack:
            aload 1 /* location */
            iconst_0
            iload 3 /* rootDirEnd */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 3 // int rootDirEnd
        end local 2 // int prefixEnd
        end local 1 // java.lang.String location
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
            0    8     1    location  Ljava/lang/String;
            1    8     2   prefixEnd  I
            2    8     3  rootDirEnd  I
    MethodParameters:
          Name  Flags
      location  

  protected org.springframework.core.io.Resource resolveRootDirResource(org.springframework.core.io.Resource);
    descriptor: (Lorg/springframework/core/io/Resource;)Lorg/springframework/core/io/Resource;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
        start local 1 // org.springframework.core.io.Resource original
         0: .line 557
            aload 1 /* original */
            areturn
        end local 1 // org.springframework.core.io.Resource original
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
            0    1     1  original  Lorg/springframework/core/io/Resource;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      original  

  protected boolean isJarResource(org.springframework.core.io.Resource);
    descriptor: (Lorg/springframework/core/io/Resource;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
        start local 1 // org.springframework.core.io.Resource resource
         0: .line 573
            iconst_0
            ireturn
        end local 1 // org.springframework.core.io.Resource resource
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
            0    1     1  resource  Lorg/springframework/core/io/Resource;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      resource  

  protected java.util.Set<org.springframework.core.io.Resource> doFindPathMatchingJarResources(org.springframework.core.io.Resource, java.net.URL, java.lang.String);
    descriptor: (Lorg/springframework/core/io/Resource;Ljava/net/URL;Ljava/lang/String;)Ljava/util/Set;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=16, args_size=4
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
        start local 1 // org.springframework.core.io.Resource rootDirResource
        start local 2 // java.net.URL rootDirURL
        start local 3 // java.lang.String subPattern
         0: .line 591
            aload 2 /* rootDirURL */
            invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
            astore 4 /* con */
        start local 4 // java.net.URLConnection con
         1: .line 597
            aload 4 /* con */
            instanceof java.net.JarURLConnection
            ifeq 14
         2: .line 599
            aload 4 /* con */
            checkcast java.net.JarURLConnection
            astore 9 /* jarCon */
        start local 9 // java.net.JarURLConnection jarCon
         3: .line 600
            aload 9 /* jarCon */
            invokestatic org.springframework.util.ResourceUtils.useCachesIfNecessary:(Ljava/net/URLConnection;)V
         4: .line 601
            aload 9 /* jarCon */
            invokevirtual java.net.JarURLConnection.getJarFile:()Ljava/util/jar/JarFile;
            astore 5 /* jarFile */
        start local 5 // java.util.jar.JarFile jarFile
         5: .line 602
            aload 9 /* jarCon */
            invokevirtual java.net.JarURLConnection.getJarFileURL:()Ljava/net/URL;
            invokevirtual java.net.URL.toExternalForm:()Ljava/lang/String;
            astore 6 /* jarFileUrl */
        start local 6 // java.lang.String jarFileUrl
         6: .line 603
            aload 9 /* jarCon */
            invokevirtual java.net.JarURLConnection.getJarEntry:()Ljava/util/jar/JarEntry;
            astore 10 /* jarEntry */
        start local 10 // java.util.jar.JarEntry jarEntry
         7: .line 604
            aload 10 /* jarEntry */
            ifnull 8
            aload 10 /* jarEntry */
            invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
            goto 9
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver org.springframework.core.io.Resource java.net.URL java.lang.String java.net.URLConnection java.util.jar.JarFile java.lang.String top top java.net.JarURLConnection java.util.jar.JarEntry
      StackMap stack:
         8: ldc ""
      StackMap locals:
      StackMap stack: java.lang.String
         9: astore 7 /* rootEntryPath */
        start local 7 // java.lang.String rootEntryPath
        10: .line 605
            aload 9 /* jarCon */
            invokevirtual java.net.JarURLConnection.getUseCaches:()Z
            ifeq 11
            iconst_0
            goto 12
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver org.springframework.core.io.Resource java.net.URL java.lang.String java.net.URLConnection java.util.jar.JarFile java.lang.String java.lang.String top java.net.JarURLConnection java.util.jar.JarEntry
      StackMap stack:
        11: iconst_1
      StackMap locals:
      StackMap stack: int
        12: istore 8 /* closeJarFile */
        end local 10 // java.util.jar.JarEntry jarEntry
        end local 9 // java.net.JarURLConnection jarCon
        start local 8 // boolean closeJarFile
        13: .line 606
            goto 32
        end local 8 // boolean closeJarFile
        end local 7 // java.lang.String rootEntryPath
        end local 6 // java.lang.String jarFileUrl
        end local 5 // java.util.jar.JarFile jarFile
        14: .line 612
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver org.springframework.core.io.Resource java.net.URL java.lang.String java.net.URLConnection
      StackMap stack:
            aload 2 /* rootDirURL */
            invokevirtual java.net.URL.getFile:()Ljava/lang/String;
            astore 9 /* urlFile */
        start local 9 // java.lang.String urlFile
        15: .line 614
            aload 9 /* urlFile */
            ldc "*/"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 10 /* separatorIndex */
        start local 10 // int separatorIndex
        16: .line 615
            iload 10 /* separatorIndex */
            iconst_m1
            if_icmpne 18
        17: .line 616
            aload 9 /* urlFile */
            ldc "!/"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 10 /* separatorIndex */
        18: .line 618
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver org.springframework.core.io.Resource java.net.URL java.lang.String java.net.URLConnection top top top top java.lang.String int
      StackMap stack:
            iload 10 /* separatorIndex */
            iconst_m1
            if_icmpeq 23
        19: .line 619
            aload 9 /* urlFile */
            iconst_0
            iload 10 /* separatorIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 6 /* jarFileUrl */
        start local 6 // java.lang.String jarFileUrl
        20: .line 620
            aload 9 /* urlFile */
            iload 10 /* separatorIndex */
            iconst_2
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 7 /* rootEntryPath */
        start local 7 // java.lang.String rootEntryPath
        21: .line 621
            aload 0 /* this */
            aload 6 /* jarFileUrl */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.getJarFile:(Ljava/lang/String;)Ljava/util/jar/JarFile;
            astore 5 /* jarFile */
        start local 5 // java.util.jar.JarFile jarFile
        22: .line 622
            goto 26
        end local 7 // java.lang.String rootEntryPath
        end local 6 // java.lang.String jarFileUrl
        end local 5 // java.util.jar.JarFile jarFile
        23: .line 624
      StackMap locals:
      StackMap stack:
            new java.util.jar.JarFile
            dup
            aload 9 /* urlFile */
            invokespecial java.util.jar.JarFile.<init>:(Ljava/lang/String;)V
            astore 5 /* jarFile */
        start local 5 // java.util.jar.JarFile jarFile
        24: .line 625
            aload 9 /* urlFile */
            astore 6 /* jarFileUrl */
        start local 6 // java.lang.String jarFileUrl
        25: .line 626
            ldc ""
            astore 7 /* rootEntryPath */
        start local 7 // java.lang.String rootEntryPath
        26: .line 628
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver org.springframework.core.io.Resource java.net.URL java.lang.String java.net.URLConnection java.util.jar.JarFile java.lang.String java.lang.String top java.lang.String int
      StackMap stack:
            iconst_1
            istore 8 /* closeJarFile */
        end local 10 // int separatorIndex
        start local 8 // boolean closeJarFile
        27: .line 629
            goto 32
        end local 8 // boolean closeJarFile
        end local 7 // java.lang.String rootEntryPath
        end local 6 // java.lang.String jarFileUrl
        end local 5 // java.util.jar.JarFile jarFile
        28: .line 630
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver org.springframework.core.io.Resource java.net.URL java.lang.String java.net.URLConnection top top top top java.lang.String
      StackMap stack: java.util.zip.ZipException
            pop
        29: .line 631
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 31
        30: .line 632
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Skipping invalid jar classpath entry ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* urlFile */
            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;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        31: .line 634
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        end local 9 // java.lang.String urlFile
        start local 5 // java.util.jar.JarFile jarFile
        start local 6 // java.lang.String jarFileUrl
        start local 7 // java.lang.String rootEntryPath
        start local 8 // boolean closeJarFile
        32: .line 639
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver org.springframework.core.io.Resource java.net.URL java.lang.String java.net.URLConnection java.util.jar.JarFile java.lang.String java.lang.String int
      StackMap stack:
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
            ifeq 34
        33: .line 640
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Looking for matching resources in jar file ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* jarFileUrl */
            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;
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
        34: .line 642
      StackMap locals:
      StackMap stack:
            ldc ""
            aload 7 /* rootEntryPath */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 36
            aload 7 /* rootEntryPath */
            ldc "/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 36
        35: .line 645
            new java.lang.StringBuilder
            dup
            aload 7 /* rootEntryPath */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* rootEntryPath */
        36: .line 647
      StackMap locals:
      StackMap stack:
            new java.util.LinkedHashSet
            dup
            bipush 8
            invokespecial java.util.LinkedHashSet.<init>:(I)V
            astore 9 /* result */
        start local 9 // java.util.Set result
        37: .line 648
            aload 5 /* jarFile */
            invokevirtual java.util.jar.JarFile.entries:()Ljava/util/Enumeration;
            astore 10 /* entries */
        start local 10 // java.util.Enumeration entries
        38: goto 45
        39: .line 649
      StackMap locals: java.util.Set java.util.Enumeration
      StackMap stack:
            aload 10 /* entries */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.util.jar.JarEntry
            astore 11 /* entry */
        start local 11 // java.util.jar.JarEntry entry
        40: .line 650
            aload 11 /* entry */
            invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
            astore 12 /* entryPath */
        start local 12 // java.lang.String entryPath
        41: .line 651
            aload 12 /* entryPath */
            aload 7 /* rootEntryPath */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 45
        42: .line 652
            aload 12 /* entryPath */
            aload 7 /* rootEntryPath */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 13 /* relativePath */
        start local 13 // java.lang.String relativePath
        43: .line 653
            aload 0 /* this */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.getPathMatcher:()Lorg/springframework/util/PathMatcher;
            aload 3 /* subPattern */
            aload 13 /* relativePath */
            invokeinterface org.springframework.util.PathMatcher.match:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 45
        44: .line 654
            aload 9 /* result */
            aload 1 /* rootDirResource */
            aload 13 /* relativePath */
            invokeinterface org.springframework.core.io.Resource.createRelative:(Ljava/lang/String;)Lorg/springframework/core/io/Resource;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // java.lang.String relativePath
        end local 12 // java.lang.String entryPath
        end local 11 // java.util.jar.JarEntry entry
        45: .line 648
      StackMap locals:
      StackMap stack:
            aload 10 /* entries */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 39
        end local 10 // java.util.Enumeration entries
        46: .line 658
            aload 9 /* result */
            astore 15
        47: .line 661
            iload 8 /* closeJarFile */
            ifeq 49
        48: .line 662
            aload 5 /* jarFile */
            invokevirtual java.util.jar.JarFile.close:()V
        49: .line 658
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver org.springframework.core.io.Resource java.net.URL java.lang.String java.net.URLConnection java.util.jar.JarFile java.lang.String java.lang.String int java.util.Set top top top top top java.util.Set
      StackMap stack:
            aload 15
            areturn
        end local 9 // java.util.Set result
        50: .line 660
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver org.springframework.core.io.Resource java.net.URL java.lang.String java.net.URLConnection java.util.jar.JarFile java.lang.String java.lang.String int
      StackMap stack: java.lang.Throwable
            astore 14
        51: .line 661
            iload 8 /* closeJarFile */
            ifeq 53
        52: .line 662
            aload 5 /* jarFile */
            invokevirtual java.util.jar.JarFile.close:()V
        53: .line 664
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver org.springframework.core.io.Resource java.net.URL java.lang.String java.net.URLConnection java.util.jar.JarFile java.lang.String java.lang.String int top top top top top java.lang.Throwable
      StackMap stack:
            aload 14
            athrow
        end local 8 // boolean closeJarFile
        end local 7 // java.lang.String rootEntryPath
        end local 6 // java.lang.String jarFileUrl
        end local 5 // java.util.jar.JarFile jarFile
        end local 4 // java.net.URLConnection con
        end local 3 // java.lang.String subPattern
        end local 2 // java.net.URL rootDirURL
        end local 1 // org.springframework.core.io.Resource rootDirResource
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   54     0             this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
            0   54     1  rootDirResource  Lorg/springframework/core/io/Resource;
            0   54     2       rootDirURL  Ljava/net/URL;
            0   54     3       subPattern  Ljava/lang/String;
            1   54     4              con  Ljava/net/URLConnection;
            5   14     5          jarFile  Ljava/util/jar/JarFile;
           22   23     5          jarFile  Ljava/util/jar/JarFile;
           24   28     5          jarFile  Ljava/util/jar/JarFile;
           32   54     5          jarFile  Ljava/util/jar/JarFile;
            6   14     6       jarFileUrl  Ljava/lang/String;
           20   23     6       jarFileUrl  Ljava/lang/String;
           25   28     6       jarFileUrl  Ljava/lang/String;
           32   54     6       jarFileUrl  Ljava/lang/String;
           10   14     7    rootEntryPath  Ljava/lang/String;
           21   23     7    rootEntryPath  Ljava/lang/String;
           26   28     7    rootEntryPath  Ljava/lang/String;
           32   54     7    rootEntryPath  Ljava/lang/String;
           13   14     8     closeJarFile  Z
           27   28     8     closeJarFile  Z
           32   54     8     closeJarFile  Z
            3   13     9           jarCon  Ljava/net/JarURLConnection;
            7   13    10         jarEntry  Ljava/util/jar/JarEntry;
           15   32     9          urlFile  Ljava/lang/String;
           16   27    10   separatorIndex  I
           37   50     9           result  Ljava/util/Set<Lorg/springframework/core/io/Resource;>;
           38   46    10          entries  Ljava/util/Enumeration<Ljava/util/jar/JarEntry;>;
           40   45    11            entry  Ljava/util/jar/JarEntry;
           41   45    12        entryPath  Ljava/lang/String;
           43   45    13     relativePath  Ljava/lang/String;
      Exception table:
        from    to  target  type
          15    27      28  Class java.util.zip.ZipException
          32    47      50  any
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/springframework/core/io/Resource;Ljava/net/URL;Ljava/lang/String;)Ljava/util/Set<Lorg/springframework/core/io/Resource;>;
    MethodParameters:
                 Name  Flags
      rootDirResource  
      rootDirURL       
      subPattern       

  protected java.util.jar.JarFile getJarFile(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/jar/JarFile;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
        start local 1 // java.lang.String jarFileUrl
         0: .line 671
            aload 1 /* jarFileUrl */
            ldc "file:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 5
         1: .line 673
            new java.util.jar.JarFile
            dup
            aload 1 /* jarFileUrl */
            invokestatic org.springframework.util.ResourceUtils.toURI:(Ljava/lang/String;)Ljava/net/URI;
            invokevirtual java.net.URI.getSchemeSpecificPart:()Ljava/lang/String;
            invokespecial java.util.jar.JarFile.<init>:(Ljava/lang/String;)V
         2: areturn
         3: .line 675
      StackMap locals:
      StackMap stack: java.net.URISyntaxException
            pop
         4: .line 677
            new java.util.jar.JarFile
            dup
            aload 1 /* jarFileUrl */
            ldc "file:"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokespecial java.util.jar.JarFile.<init>:(Ljava/lang/String;)V
            areturn
         5: .line 681
      StackMap locals:
      StackMap stack:
            new java.util.jar.JarFile
            dup
            aload 1 /* jarFileUrl */
            invokespecial java.util.jar.JarFile.<init>:(Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String jarFileUrl
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
            0    6     1  jarFileUrl  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     2       3  Class java.net.URISyntaxException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      jarFileUrl  

  protected java.util.Set<org.springframework.core.io.Resource> doFindPathMatchingFileResources(org.springframework.core.io.Resource, java.lang.String);
    descriptor: (Lorg/springframework/core/io/Resource;Ljava/lang/String;)Ljava/util/Set;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
        start local 1 // org.springframework.core.io.Resource rootDirResource
        start local 2 // java.lang.String subPattern
         0: .line 700
            aload 1 /* rootDirResource */
            invokeinterface org.springframework.core.io.Resource.getFile:()Ljava/io/File;
            invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
            astore 3 /* rootDir */
        start local 3 // java.io.File rootDir
         1: .line 701
            goto 12
        end local 3 // java.io.File rootDir
         2: .line 702
      StackMap locals:
      StackMap stack: java.io.FileNotFoundException
            astore 4 /* ex */
        start local 4 // java.io.FileNotFoundException ex
         3: .line 703
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 7
         4: .line 704
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Cannot search for matching files underneath "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* rootDirResource */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         5: .line 705
            ldc " in the file system: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* ex */
            invokevirtual java.io.FileNotFoundException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 704
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         7: .line 707
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver org.springframework.core.io.Resource java.lang.String top java.io.FileNotFoundException
      StackMap stack:
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        end local 4 // java.io.FileNotFoundException ex
         8: .line 709
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver org.springframework.core.io.Resource java.lang.String
      StackMap stack: java.lang.Exception
            astore 4 /* ex */
        start local 4 // java.lang.Exception ex
         9: .line 710
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isInfoEnabled:()Z
            ifeq 11
        10: .line 711
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Failed to resolve "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* rootDirResource */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " in the file system: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* ex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.info:(Ljava/lang/Object;)V
        11: .line 713
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver org.springframework.core.io.Resource java.lang.String top java.lang.Exception
      StackMap stack:
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        end local 4 // java.lang.Exception ex
        start local 3 // java.io.File rootDir
        12: .line 715
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver org.springframework.core.io.Resource java.lang.String java.io.File
      StackMap stack:
            aload 0 /* this */
            aload 3 /* rootDir */
            aload 2 /* subPattern */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.doFindMatchingFileSystemResources:(Ljava/io/File;Ljava/lang/String;)Ljava/util/Set;
            areturn
        end local 3 // java.io.File rootDir
        end local 2 // java.lang.String subPattern
        end local 1 // org.springframework.core.io.Resource rootDirResource
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
            0   13     1  rootDirResource  Lorg/springframework/core/io/Resource;
            0   13     2       subPattern  Ljava/lang/String;
            1    2     3          rootDir  Ljava/io/File;
           12   13     3          rootDir  Ljava/io/File;
            3    8     4               ex  Ljava/io/FileNotFoundException;
            9   12     4               ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.FileNotFoundException
           0     1       8  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/springframework/core/io/Resource;Ljava/lang/String;)Ljava/util/Set<Lorg/springframework/core/io/Resource;>;
    MethodParameters:
                 Name  Flags
      rootDirResource  
      subPattern       

  protected java.util.Set<org.springframework.core.io.Resource> doFindMatchingFileSystemResources(java.io.File, java.lang.String);
    descriptor: (Ljava/io/File;Ljava/lang/String;)Ljava/util/Set;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
        start local 1 // java.io.File rootDir
        start local 2 // java.lang.String subPattern
         0: .line 729
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
            ifeq 2
         1: .line 730
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Looking for matching resources in directory tree ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* rootDir */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            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;
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
         2: .line 732
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* rootDir */
            aload 2 /* subPattern */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.retrieveMatchingFiles:(Ljava/io/File;Ljava/lang/String;)Ljava/util/Set;
            astore 3 /* matchingFiles */
        start local 3 // java.util.Set matchingFiles
         3: .line 733
            new java.util.LinkedHashSet
            dup
            aload 3 /* matchingFiles */
            invokeinterface java.util.Set.size:()I
            invokespecial java.util.LinkedHashSet.<init>:(I)V
            astore 4 /* result */
        start local 4 // java.util.Set result
         4: .line 734
            aload 3 /* matchingFiles */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 7
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver java.io.File java.lang.String java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.io.File
            astore 5 /* file */
        start local 5 // java.io.File file
         6: .line 735
            aload 4 /* result */
            new org.springframework.core.io.FileSystemResource
            dup
            aload 5 /* file */
            invokespecial org.springframework.core.io.FileSystemResource.<init>:(Ljava/io/File;)V
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.io.File file
         7: .line 734
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 737
            aload 4 /* result */
            areturn
        end local 4 // java.util.Set result
        end local 3 // java.util.Set matchingFiles
        end local 2 // java.lang.String subPattern
        end local 1 // java.io.File rootDir
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
            0    9     1        rootDir  Ljava/io/File;
            0    9     2     subPattern  Ljava/lang/String;
            3    9     3  matchingFiles  Ljava/util/Set<Ljava/io/File;>;
            4    9     4         result  Ljava/util/Set<Lorg/springframework/core/io/Resource;>;
            6    7     5           file  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/File;Ljava/lang/String;)Ljava/util/Set<Lorg/springframework/core/io/Resource;>;
    MethodParameters:
            Name  Flags
      rootDir     
      subPattern  

  protected java.util.Set<java.io.File> retrieveMatchingFiles(java.io.File, java.lang.String);
    descriptor: (Ljava/io/File;Ljava/lang/String;)Ljava/util/Set;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
        start local 1 // java.io.File rootDir
        start local 2 // java.lang.String pattern
         0: .line 750
            aload 1 /* rootDir */
            invokevirtual java.io.File.exists:()Z
            ifne 4
         1: .line 752
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 3
         2: .line 753
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Skipping ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* rootDir */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] because it does not exist"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         3: .line 755
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         4: .line 757
      StackMap locals:
      StackMap stack:
            aload 1 /* rootDir */
            invokevirtual java.io.File.isDirectory:()Z
            ifne 8
         5: .line 759
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isInfoEnabled:()Z
            ifeq 7
         6: .line 760
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Skipping ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* rootDir */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] because it does not denote a directory"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.info:(Ljava/lang/Object;)V
         7: .line 762
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         8: .line 764
      StackMap locals:
      StackMap stack:
            aload 1 /* rootDir */
            invokevirtual java.io.File.canRead:()Z
            ifne 14
         9: .line 765
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isInfoEnabled:()Z
            ifeq 13
        10: .line 766
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Skipping search for matching files underneath directory ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* rootDir */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 767
            ldc "] because the application is not allowed to read the directory"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 766
            invokeinterface org.apache.commons.logging.Log.info:(Ljava/lang/Object;)V
        13: .line 769
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        14: .line 771
      StackMap locals:
      StackMap stack:
            aload 1 /* rootDir */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            getstatic java.io.File.separator:Ljava/lang/String;
            ldc "/"
            invokestatic org.springframework.util.StringUtils.replace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* fullPattern */
        start local 3 // java.lang.String fullPattern
        15: .line 772
            aload 2 /* pattern */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 17
        16: .line 773
            new java.lang.StringBuilder
            dup
            aload 3 /* fullPattern */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* fullPattern */
        17: .line 775
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 3 /* fullPattern */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* pattern */
            getstatic java.io.File.separator:Ljava/lang/String;
            ldc "/"
            invokestatic org.springframework.util.StringUtils.replace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* fullPattern */
        18: .line 776
            new java.util.LinkedHashSet
            dup
            bipush 8
            invokespecial java.util.LinkedHashSet.<init>:(I)V
            astore 4 /* result */
        start local 4 // java.util.Set result
        19: .line 777
            aload 0 /* this */
            aload 3 /* fullPattern */
            aload 1 /* rootDir */
            aload 4 /* result */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.doRetrieveMatchingFiles:(Ljava/lang/String;Ljava/io/File;Ljava/util/Set;)V
        20: .line 778
            aload 4 /* result */
            areturn
        end local 4 // java.util.Set result
        end local 3 // java.lang.String fullPattern
        end local 2 // java.lang.String pattern
        end local 1 // java.io.File rootDir
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0         this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
            0   21     1      rootDir  Ljava/io/File;
            0   21     2      pattern  Ljava/lang/String;
           15   21     3  fullPattern  Ljava/lang/String;
           19   21     4       result  Ljava/util/Set<Ljava/io/File;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/File;Ljava/lang/String;)Ljava/util/Set<Ljava/io/File;>;
    MethodParameters:
         Name  Flags
      rootDir  
      pattern  

  protected void doRetrieveMatchingFiles(java.lang.String, java.io.File, java.util.Set<java.io.File>);
    descriptor: (Ljava/lang/String;Ljava/io/File;Ljava/util/Set;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
        start local 1 // java.lang.String fullPattern
        start local 2 // java.io.File dir
        start local 3 // java.util.Set result
         0: .line 791
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
            ifeq 4
         1: .line 792
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Searching directory ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* dir */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 793
            ldc "] for files matching pattern ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* fullPattern */
            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;
         3: .line 792
            invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
         4: .line 795
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* dir */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.listDirectory:(Ljava/io/File;)[Ljava/io/File;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 18
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver java.lang.String java.io.File java.util.Set top int int java.io.File[]
      StackMap stack:
         5: aload 7
            iload 5
            aaload
            astore 4 /* content */
        start local 4 // java.io.File content
         6: .line 796
            aload 4 /* content */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            getstatic java.io.File.separator:Ljava/lang/String;
            ldc "/"
            invokestatic org.springframework.util.StringUtils.replace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* currPath */
        start local 8 // java.lang.String currPath
         7: .line 797
            aload 4 /* content */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 15
            aload 0 /* this */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.getPathMatcher:()Lorg/springframework/util/PathMatcher;
            aload 1 /* fullPattern */
            new java.lang.StringBuilder
            dup
            aload 8 /* currPath */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.springframework.util.PathMatcher.matchStart:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 15
         8: .line 798
            aload 4 /* content */
            invokevirtual java.io.File.canRead:()Z
            ifne 14
         9: .line 799
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 15
        10: .line 800
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Skipping subdirectory ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* dir */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 801
            ldc "] because the application is not allowed to read the directory"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 800
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        13: .line 803
            goto 15
        14: .line 805
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver java.lang.String java.io.File java.util.Set java.io.File int int java.io.File[] java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* fullPattern */
            aload 4 /* content */
            aload 3 /* result */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.doRetrieveMatchingFiles:(Ljava/lang/String;Ljava/io/File;Ljava/util/Set;)V
        15: .line 808
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.core.io.support.PathMatchingResourcePatternResolver.getPathMatcher:()Lorg/springframework/util/PathMatcher;
            aload 1 /* fullPattern */
            aload 8 /* currPath */
            invokeinterface org.springframework.util.PathMatcher.match:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 17
        16: .line 809
            aload 3 /* result */
            aload 4 /* content */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // java.lang.String currPath
        end local 4 // java.io.File content
        17: .line 795
      StackMap locals: org.springframework.core.io.support.PathMatchingResourcePatternResolver java.lang.String java.io.File java.util.Set top int int java.io.File[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        18: iload 5
            iload 6
            if_icmplt 5
        19: .line 812
            return
        end local 3 // java.util.Set result
        end local 2 // java.io.File dir
        end local 1 // java.lang.String fullPattern
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   20     0         this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
            0   20     1  fullPattern  Ljava/lang/String;
            0   20     2          dir  Ljava/io/File;
            0   20     3       result  Ljava/util/Set<Ljava/io/File;>;
            6   17     4      content  Ljava/io/File;
            7   17     8     currPath  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/String;Ljava/io/File;Ljava/util/Set<Ljava/io/File;>;)V
    MethodParameters:
             Name  Flags
      fullPattern  
      dir          
      result       

  protected java.io.File[] listDirectory(java.io.File);
    descriptor: (Ljava/io/File;)[Ljava/io/File;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
        start local 1 // java.io.File dir
         0: .line 822
            aload 1 /* dir */
            invokevirtual java.io.File.listFiles:()[Ljava/io/File;
            astore 2 /* files */
        start local 2 // java.io.File[] files
         1: .line 823
            aload 2 /* files */
            ifnonnull 5
         2: .line 824
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isInfoEnabled:()Z
            ifeq 4
         3: .line 825
            getstatic org.springframework.core.io.support.PathMatchingResourcePatternResolver.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Could not retrieve contents of directory ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* dir */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            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;
            invokeinterface org.apache.commons.logging.Log.info:(Ljava/lang/Object;)V
         4: .line 827
      StackMap locals: java.io.File[]
      StackMap stack:
            iconst_0
            anewarray java.io.File
            areturn
         5: .line 829
      StackMap locals:
      StackMap stack:
            aload 2 /* files */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/io/File.getName()Ljava/lang/String; (5)
                  (Ljava/io/File;)Ljava/lang/String;
            invokestatic java.util.Comparator.comparing:(Ljava/util/function/Function;)Ljava/util/Comparator;
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
         6: .line 830
            aload 2 /* files */
            areturn
        end local 2 // java.io.File[] files
        end local 1 // java.io.File dir
        end local 0 // org.springframework.core.io.support.PathMatchingResourcePatternResolver this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/springframework/core/io/support/PathMatchingResourcePatternResolver;
            0    7     1    dir  Ljava/io/File;
            1    7     2  files  [Ljava/io/File;
    MethodParameters:
      Name  Flags
      dir   
}
SourceFile: "PathMatchingResourcePatternResolver.java"
NestMembers:
  org.springframework.core.io.support.PathMatchingResourcePatternResolver$PatternVirtualFileVisitor  org.springframework.core.io.support.PathMatchingResourcePatternResolver$VfsResourceMatchingDelegate
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private PatternVirtualFileVisitor = org.springframework.core.io.support.PathMatchingResourcePatternResolver$PatternVirtualFileVisitor of org.springframework.core.io.support.PathMatchingResourcePatternResolver
  private VfsResourceMatchingDelegate = org.springframework.core.io.support.PathMatchingResourcePatternResolver$VfsResourceMatchingDelegate of org.springframework.core.io.support.PathMatchingResourcePatternResolver