class com.sun.tools.jdeprscan.scan.ClassFinder$JrtPathEntry implements com.sun.tools.jdeprscan.scan.ClassFinder$PathEntry
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.jdeprscan.scan.ClassFinder$JrtPathEntry
  super_class: java.lang.Object
{
  final java.nio.file.FileSystem fs;
    descriptor: Ljava/nio/file/FileSystem;
    flags: (0x0010) ACC_FINAL

  final com.sun.tools.jdeprscan.scan.ClassFinder this$0;
    descriptor: Lcom/sun/tools/jdeprscan/scan/ClassFinder;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.sun.tools.jdeprscan.scan.ClassFinder);
    descriptor: (Lcom/sun/tools/jdeprscan/scan/ClassFinder;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.jdeprscan.scan.ClassFinder$JrtPathEntry this
         0: .line 180
            aload 0 /* this */
            aload 1
            putfield com.sun.tools.jdeprscan.scan.ClassFinder$JrtPathEntry.this$0:Lcom/sun/tools/jdeprscan/scan/ClassFinder;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 181
            aload 0 /* this */
            ldc "jrt:/"
            invokestatic java.net.URI.create:(Ljava/lang/String;)Ljava/net/URI;
            invokestatic java.nio.file.FileSystems.getFileSystem:(Ljava/net/URI;)Ljava/nio/file/FileSystem;
            putfield com.sun.tools.jdeprscan.scan.ClassFinder$JrtPathEntry.fs:Ljava/nio/file/FileSystem;
         2: .line 180
            return
        end local 0 // com.sun.tools.jdeprscan.scan.ClassFinder$JrtPathEntry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/jdeprscan/scan/ClassFinder$JrtPathEntry;
    MethodParameters:
        Name  Flags
      this$0  final

  public com.sun.tools.classfile.ClassFile find(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/sun/tools/classfile/ClassFile;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // com.sun.tools.jdeprscan.scan.ClassFinder$JrtPathEntry this
        start local 1 // java.lang.String className
         0: .line 185
            aload 1 /* className */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* end */
        start local 2 // int end
         1: .line 186
            iload 2 /* end */
            ifge 3
         2: .line 187
            aconst_null
            areturn
         3: .line 189
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "/packages/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* className */
            iconst_0
            iload 2 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
         4: .line 190
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 189
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* pkg */
        start local 3 // java.lang.String pkg
         6: .line 191
            aconst_null
            astore 4
            aconst_null
            astore 5
         7: aload 0 /* this */
            getfield com.sun.tools.jdeprscan.scan.ClassFinder$JrtPathEntry.fs:Ljava/nio/file/FileSystem;
            aload 3 /* pkg */
            iconst_0
            anewarray java.lang.String
            invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            invokestatic java.nio.file.Files.list:(Ljava/nio/file/Path;)Ljava/util/stream/Stream;
            astore 6 /* mods */
        start local 6 // java.util.stream.Stream mods
         8: .line 193
            aload 6 /* mods */
            aload 1 /* className */
            invokedynamic apply(Ljava/lang/String;)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;
                  com/sun/tools/jdeprscan/scan/ClassFinder$JrtPathEntry.lambda$0(Ljava/lang/String;Ljava/nio/file/Path;)Ljava/nio/file/Path; (6)
                  (Ljava/nio/file/Path;)Ljava/nio/file/Path;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  com/sun/tools/jdeprscan/scan/ClassFinder$JrtPathEntry.lambda$2(Ljava/nio/file/Path;)Z (6)
                  (Ljava/nio/file/Path;)Z
         9: .line 194
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        10: .line 195
            invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
        11: .line 192
            astore 7 /* opath */
        start local 7 // java.util.Optional opath
        12: .line 196
            aload 7 /* opath */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 16
        13: .line 197
            aload 7 /* opath */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            invokestatic com.sun.tools.classfile.ClassFile.read:(Ljava/nio/file/Path;)Lcom/sun/tools/classfile/ClassFile;
        14: .line 201
            aload 6 /* mods */
            ifnull 15
            aload 6 /* mods */
            invokeinterface java.util.stream.Stream.close:()V
        15: .line 197
      StackMap locals: com.sun.tools.jdeprscan.scan.ClassFinder$JrtPathEntry java.lang.String int java.lang.String java.lang.Throwable java.lang.Throwable java.util.stream.Stream java.util.Optional
      StackMap stack: com.sun.tools.classfile.ClassFile
            areturn
        16: .line 201
      StackMap locals:
      StackMap stack:
            aload 6 /* mods */
            ifnull 17
            aload 6 /* mods */
            invokeinterface java.util.stream.Stream.close:()V
        17: .line 199
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 7 // java.util.Optional opath
      StackMap locals: com.sun.tools.jdeprscan.scan.ClassFinder$JrtPathEntry java.lang.String int java.lang.String java.lang.Throwable java.lang.Throwable java.util.stream.Stream
      StackMap stack: java.lang.Throwable
        18: astore 4
        19: .line 201
            aload 6 /* mods */
            ifnull 20
            aload 6 /* mods */
            invokeinterface java.util.stream.Stream.close:()V
        end local 6 // java.util.stream.Stream mods
      StackMap locals:
      StackMap stack:
        20: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: astore 5
            aload 4
            ifnonnull 22
            aload 5
            astore 4
            goto 23
      StackMap locals:
      StackMap stack:
        22: aload 4
            aload 5
            if_acmpeq 23
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        23: aload 4
            athrow
      StackMap locals: com.sun.tools.jdeprscan.scan.ClassFinder$JrtPathEntry java.lang.String int java.lang.String
      StackMap stack: java.nio.file.NoSuchFileException
        24: pop
            goto 28
        25: .line 203
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 4 /* ex */
        start local 4 // java.lang.Exception ex
        26: .line 204
            aload 0 /* this */
            getfield com.sun.tools.jdeprscan.scan.ClassFinder$JrtPathEntry.this$0:Lcom/sun/tools/jdeprscan/scan/ClassFinder;
            getfield com.sun.tools.jdeprscan.scan.ClassFinder.verbose:Z
            ifeq 28
        27: .line 205
            aload 4 /* ex */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 4 // java.lang.Exception ex
        28: .line 208
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // java.lang.String pkg
        end local 2 // int end
        end local 1 // java.lang.String className
        end local 0 // com.sun.tools.jdeprscan.scan.ClassFinder$JrtPathEntry this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   29     0       this  Lcom/sun/tools/jdeprscan/scan/ClassFinder$JrtPathEntry;
            0   29     1  className  Ljava/lang/String;
            1   29     2        end  I
            6   29     3        pkg  Ljava/lang/String;
            8   20     6       mods  Ljava/util/stream/Stream<Ljava/nio/file/Path;>;
           12   18     7      opath  Ljava/util/Optional<Ljava/nio/file/Path;>;
           26   28     4         ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           8    14      18  any
           7    15      21  any
          16    17      21  any
          18    21      21  any
           6    15      24  Class java.nio.file.NoSuchFileException
          16    17      24  Class java.nio.file.NoSuchFileException
          18    24      24  Class java.nio.file.NoSuchFileException
           6    15      25  Class java.io.IOException
          16    17      25  Class java.io.IOException
          18    24      25  Class java.io.IOException
           6    15      25  Class com.sun.tools.classfile.ConstantPoolException
          16    17      25  Class com.sun.tools.classfile.ConstantPoolException
          18    24      25  Class com.sun.tools.classfile.ConstantPoolException
    MethodParameters:
           Name  Flags
      className  

  private static java.nio.file.Path lambda$0(java.lang.String, java.nio.file.Path);
    descriptor: (Ljava/lang/String;Ljava/nio/file/Path;)Ljava/nio/file/Path;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
        start local 1 // java.nio.file.Path path
         0: .line 193
            aload 1 /* path */
            new java.lang.StringBuilder
            dup
            aload 0
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
            areturn
        end local 1 // java.nio.file.Path path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1  path  Ljava/nio/file/Path;

  private static boolean lambda$2(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.nio.file.Path  arg0
         0: aload 0 /*  arg0 */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ireturn
        end local 0 // java.nio.file.Path  arg0
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   arg0  Ljava/nio/file/Path;
}
SourceFile: "ClassFinder.java"
NestHost: com.sun.tools.jdeprscan.scan.ClassFinder
InnerClasses:
  JrtPathEntry = com.sun.tools.jdeprscan.scan.ClassFinder$JrtPathEntry of com.sun.tools.jdeprscan.scan.ClassFinder
  abstract PathEntry = com.sun.tools.jdeprscan.scan.ClassFinder$PathEntry of com.sun.tools.jdeprscan.scan.ClassFinder
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles