final class javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader
  super_class: java.lang.Object
{
  private final javax.swing.filechooser.FileSystemView fileSystemView;
    descriptor: Ljavax/swing/filechooser/FileSystemView;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private final int fid;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private volatile javax.swing.plaf.basic.BasicDirectoryModel$DoChangeContents runnable;
    descriptor: Ljavax/swing/plaf/basic/BasicDirectoryModel$DoChangeContents;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

  final javax.swing.plaf.basic.BasicDirectoryModel this$0;
    descriptor: Ljavax/swing/plaf/basic/BasicDirectoryModel;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(javax.swing.plaf.basic.BasicDirectoryModel, java.io.File, int);
    descriptor: (Ljavax/swing/plaf/basic/BasicDirectoryModel;Ljava/io/File;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=5, args_size=4
        start local 0 // javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader this
        start local 2 // java.io.File currentDirectory
        start local 3 // int fid
         0: .line 276
            aload 0 /* this */
            aload 1
            putfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.this$0:Ljavax/swing/plaf/basic/BasicDirectoryModel;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 277
            aload 0 /* this */
            aload 2 /* currentDirectory */
            putfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.currentDirectory:Ljava/io/File;
         2: .line 278
            aload 0 /* this */
            iload 3 /* fid */
            putfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.fid:I
         3: .line 279
            aload 0 /* this */
            aload 1
            getfield javax.swing.plaf.basic.BasicDirectoryModel.filechooser:Ljavax/swing/JFileChooser;
            invokevirtual javax.swing.JFileChooser.getFileSystemView:()Ljavax/swing/filechooser/FileSystemView;
            putfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.fileSystemView:Ljavax/swing/filechooser/FileSystemView;
         4: .line 280
            aload 0 /* this */
            aload 1
            getfield javax.swing.plaf.basic.BasicDirectoryModel.filechooser:Ljavax/swing/JFileChooser;
            invokevirtual javax.swing.JFileChooser.isFileHidingEnabled:()Z
            putfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.useFileHiding:Z
         5: .line 281
            aload 0 /* this */
            aload 1
            getfield javax.swing.plaf.basic.BasicDirectoryModel.filechooser:Ljavax/swing/JFileChooser;
            invokevirtual javax.swing.JFileChooser.isFileSelectionEnabled:()Z
            putfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.fileSelectionEnabled:Z
         6: .line 282
            ldc "Basic L&F File Loading Thread"
            astore 4 /* name */
        start local 4 // java.lang.String name
         7: .line 283
            aload 0 /* this */
            new java.lang.Thread
            dup
            aconst_null
            aload 0 /* this */
            aload 4 /* name */
            lconst_0
            iconst_0
            invokespecial java.lang.Thread.<init>:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;JZ)V
            putfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.loadThread:Ljava/lang/Thread;
         8: .line 284
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.loadThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.start:()V
         9: .line 285
            return
        end local 4 // java.lang.String name
        end local 3 // int fid
        end local 2 // java.io.File currentDirectory
        end local 0 // javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              this  Ljavax/swing/plaf/basic/BasicDirectoryModel$FilesLoader;
            0   10     2  currentDirectory  Ljava/io/File;
            0   10     3               fid  I
            7   10     4              name  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      this$0            final
      currentDirectory  
      fid               

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader this
         0: .line 289
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.run0:()V
         1: .line 290
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.this$0:Ljavax/swing/plaf/basic/BasicDirectoryModel;
            iconst_0
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.fid:I
            invokevirtual javax.swing.plaf.basic.BasicDirectoryModel.setBusy:(ZI)V
         2: .line 291
            return
        end local 0 // javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/plaf/basic/BasicDirectoryModel$FilesLoader;

  private void run0();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader this
         0: .line 294
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.fileSystemView:Ljavax/swing/filechooser/FileSystemView;
            astore 1 /* fileSystem */
        start local 1 // javax.swing.filechooser.FileSystemView fileSystem
         1: .line 296
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.loadThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.isInterrupted:()Z
            ifeq 3
         2: .line 297
            return
         3: .line 300
      StackMap locals: javax.swing.filechooser.FileSystemView
      StackMap stack:
            aload 1 /* fileSystem */
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.currentDirectory:Ljava/io/File;
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.useFileHiding:Z
            invokevirtual javax.swing.filechooser.FileSystemView.getFiles:(Ljava/io/File;Z)[Ljava/io/File;
            astore 2 /* list */
        start local 2 // java.io.File[] list
         4: .line 302
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.loadThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.isInterrupted:()Z
            ifeq 6
         5: .line 303
            return
         6: .line 306
      StackMap locals: java.io.File[]
      StackMap stack:
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 3 /* newFileCache */
        start local 3 // java.util.Vector newFileCache
         7: .line 307
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 4 /* newFiles */
        start local 4 // java.util.Vector newFiles
         8: .line 312
            aload 2 /* list */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 20
      StackMap locals: javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader javax.swing.filechooser.FileSystemView java.io.File[] java.util.Vector java.util.Vector top int int java.io.File[]
      StackMap stack:
         9: aload 8
            iload 6
            aaload
            astore 5 /* file */
        start local 5 // java.io.File file
        10: .line 313
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.this$0:Ljavax/swing/plaf/basic/BasicDirectoryModel;
            getfield javax.swing.plaf.basic.BasicDirectoryModel.filechooser:Ljavax/swing/JFileChooser;
            aload 5 /* file */
            invokevirtual javax.swing.JFileChooser.accept:(Ljava/io/File;)Z
            ifeq 19
        11: .line 314
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.this$0:Ljavax/swing/plaf/basic/BasicDirectoryModel;
            getfield javax.swing.plaf.basic.BasicDirectoryModel.filechooser:Ljavax/swing/JFileChooser;
            aload 5 /* file */
            invokevirtual javax.swing.JFileChooser.isTraversable:(Ljava/io/File;)Z
            istore 9 /* isTraversable */
        start local 9 // boolean isTraversable
        12: .line 316
            iload 9 /* isTraversable */
            ifeq 15
        13: .line 317
            aload 3 /* newFileCache */
            aload 5 /* file */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        14: .line 318
            goto 17
      StackMap locals: javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader javax.swing.filechooser.FileSystemView java.io.File[] java.util.Vector java.util.Vector java.io.File int int java.io.File[] int
      StackMap stack:
        15: aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.fileSelectionEnabled:Z
            ifeq 17
        16: .line 319
            aload 4 /* newFiles */
            aload 5 /* file */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        17: .line 322
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.loadThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.isInterrupted:()Z
            ifeq 19
        18: .line 323
            return
        end local 9 // boolean isTraversable
        end local 5 // java.io.File file
        19: .line 312
      StackMap locals: javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader javax.swing.filechooser.FileSystemView java.io.File[] java.util.Vector java.util.Vector top int int java.io.File[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        20: iload 6
            iload 7
            if_icmplt 9
        21: .line 329
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.this$0:Ljavax/swing/plaf/basic/BasicDirectoryModel;
            aload 3 /* newFileCache */
            invokevirtual javax.swing.plaf.basic.BasicDirectoryModel.sort:(Ljava/util/Vector;)V
        22: .line 330
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.this$0:Ljavax/swing/plaf/basic/BasicDirectoryModel;
            aload 4 /* newFiles */
            invokevirtual javax.swing.plaf.basic.BasicDirectoryModel.sort:(Ljava/util/Vector;)V
        23: .line 332
            aload 3 /* newFileCache */
            aload 4 /* newFiles */
            invokevirtual java.util.Vector.addAll:(Ljava/util/Collection;)Z
            pop
        24: .line 336
            aload 0 /* this */
            new javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader$1
            dup
            aload 0 /* this */
            aload 3 /* newFileCache */
            invokespecial javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader$1.<init>:(Ljavax/swing/plaf/basic/BasicDirectoryModel$FilesLoader;Ljava/util/Vector;)V
            invokestatic sun.awt.shell.ShellFolder.invoke:(Ljava/util/concurrent/Callable;)Ljava/lang/Object;
            checkcast javax.swing.plaf.basic.BasicDirectoryModel$DoChangeContents
            putfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.runnable:Ljavax/swing/plaf/basic/BasicDirectoryModel$DoChangeContents;
        25: .line 393
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.runnable:Ljavax/swing/plaf/basic/BasicDirectoryModel$DoChangeContents;
            ifnull 27
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.loadThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.isInterrupted:()Z
            ifne 27
        26: .line 394
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.runnable:Ljavax/swing/plaf/basic/BasicDirectoryModel$DoChangeContents;
            invokestatic javax.swing.SwingUtilities.invokeLater:(Ljava/lang/Runnable;)V
        27: .line 396
      StackMap locals: javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader javax.swing.filechooser.FileSystemView java.io.File[] java.util.Vector java.util.Vector
      StackMap stack:
            return
        end local 4 // java.util.Vector newFiles
        end local 3 // java.util.Vector newFileCache
        end local 2 // java.io.File[] list
        end local 1 // javax.swing.filechooser.FileSystemView fileSystem
        end local 0 // javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   28     0           this  Ljavax/swing/plaf/basic/BasicDirectoryModel$FilesLoader;
            1   28     1     fileSystem  Ljavax/swing/filechooser/FileSystemView;
            4   28     2           list  [Ljava/io/File;
            7   28     3   newFileCache  Ljava/util/Vector<Ljava/io/File;>;
            8   28     4       newFiles  Ljava/util/Vector<Ljava/io/File;>;
           10   19     5           file  Ljava/io/File;
           12   19     9  isTraversable  Z

  private void cancelRunnables();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader this
         0: .line 399
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.runnable:Ljavax/swing/plaf/basic/BasicDirectoryModel$DoChangeContents;
            ifnull 2
         1: .line 400
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.runnable:Ljavax/swing/plaf/basic/BasicDirectoryModel$DoChangeContents;
            invokevirtual javax.swing.plaf.basic.BasicDirectoryModel$DoChangeContents.cancel:()V
         2: .line 402
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/plaf/basic/BasicDirectoryModel$FilesLoader;

  static javax.swing.plaf.basic.BasicDirectoryModel access$0(javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader);
    descriptor: (Ljavax/swing/plaf/basic/BasicDirectoryModel$FilesLoader;)Ljavax/swing/plaf/basic/BasicDirectoryModel;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 267
            aload 0
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.this$0:Ljavax/swing/plaf/basic/BasicDirectoryModel;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "BasicDirectoryModel.java"
NestHost: javax.swing.plaf.basic.BasicDirectoryModel
InnerClasses:
  private final DoChangeContents = javax.swing.plaf.basic.BasicDirectoryModel$DoChangeContents of javax.swing.plaf.basic.BasicDirectoryModel
  private final FilesLoader = javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader of javax.swing.plaf.basic.BasicDirectoryModel
  javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader$1