class javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader
  super_class: java.lang.Object
{
  java.io.File currentDirectory;
    descriptor: Ljava/io/File;
    flags: (0x0000) 

  int fid;
    descriptor: I
    flags: (0x0000) 

  java.util.Vector<javax.swing.plaf.basic.BasicDirectoryModel$DoChangeContents> runnables;
    descriptor: Ljava/util/Vector;
    flags: (0x0000) 
    Signature: Ljava/util/Vector<Ljavax/swing/plaf/basic/BasicDirectoryModel$DoChangeContents;>;

  final java.lang.Thread loadThread;
    descriptor: Ljava/lang/Thread;
    flags: (0x0010) ACC_FINAL

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

  public void <init>(javax.swing.plaf.basic.BasicDirectoryModel, java.io.File, int);
    descriptor: (Ljavax/swing/plaf/basic/BasicDirectoryModel;Ljava/io/File;I)V
    flags: (0x0001) ACC_PUBLIC
    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 269
            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 264
            aload 0 /* this */
            aconst_null
            putfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.currentDirectory:Ljava/io/File;
         2: .line 266
            aload 0 /* this */
            new java.util.Vector
            dup
            bipush 10
            invokespecial java.util.Vector.<init>:(I)V
            putfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.runnables:Ljava/util/Vector;
         3: .line 270
            aload 0 /* this */
            aload 2 /* currentDirectory */
            putfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.currentDirectory:Ljava/io/File;
         4: .line 271
            aload 0 /* this */
            iload 3 /* fid */
            putfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.fid:I
         5: .line 272
            ldc "Basic L&F File Loading Thread"
            astore 4 /* name */
        start local 4 // java.lang.String name
         6: .line 273
            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;
         7: .line 274
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.loadThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.start:()V
         8: .line 275
            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    9     0              this  Ljavax/swing/plaf/basic/BasicDirectoryModel$FilesLoader;
            0    9     2  currentDirectory  Ljava/io/File;
            0    9     3               fid  I
            6    9     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 279
            aload 0 /* this */
            invokevirtual javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.run0:()V
         1: .line 280
            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 281
            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;

  public void run0();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader this
         0: .line 284
            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;
            invokevirtual javax.swing.JFileChooser.getFileSystemView:()Ljavax/swing/filechooser/FileSystemView;
            astore 1 /* fileSystem */
        start local 1 // javax.swing.filechooser.FileSystemView fileSystem
         1: .line 286
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.loadThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.isInterrupted:()Z
            ifeq 3
         2: .line 287
            return
         3: .line 290
      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.this$0:Ljavax/swing/plaf/basic/BasicDirectoryModel;
            getfield javax.swing.plaf.basic.BasicDirectoryModel.filechooser:Ljavax/swing/JFileChooser;
            invokevirtual javax.swing.JFileChooser.isFileHidingEnabled:()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 292
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.loadThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.isInterrupted:()Z
            ifeq 6
         5: .line 293
            return
         6: .line 296
      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 297
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 4 /* newFiles */
        start local 4 // java.util.Vector newFiles
         8: .line 302
            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 303
            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 304
            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 306
            iload 9 /* isTraversable */
            ifeq 15
        13: .line 307
            aload 3 /* newFileCache */
            aload 5 /* file */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        14: .line 308
            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.this$0:Ljavax/swing/plaf/basic/BasicDirectoryModel;
            getfield javax.swing.plaf.basic.BasicDirectoryModel.filechooser:Ljavax/swing/JFileChooser;
            invokevirtual javax.swing.JFileChooser.isFileSelectionEnabled:()Z
            ifeq 17
        16: .line 309
            aload 4 /* newFiles */
            aload 5 /* file */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        17: .line 312
      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 313
            return
        end local 9 // boolean isTraversable
        end local 5 // java.io.File file
        19: .line 302
      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 319
            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 320
            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 322
            aload 3 /* newFileCache */
            aload 4 /* newFiles */
            invokevirtual java.util.Vector.addAll:(Ljava/util/Collection;)Z
            pop
        24: .line 326
            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
            astore 5 /* doChangeContents */
        start local 5 // javax.swing.plaf.basic.BasicDirectoryModel$DoChangeContents doChangeContents
        25: .line 383
            aload 5 /* doChangeContents */
            ifnull 28
        26: .line 384
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.runnables:Ljava/util/Vector;
            aload 5 /* doChangeContents */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        27: .line 385
            aload 5 /* doChangeContents */
            invokestatic javax.swing.SwingUtilities.invokeLater:(Ljava/lang/Runnable;)V
        28: .line 387
      StackMap locals: javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader javax.swing.filechooser.FileSystemView java.io.File[] java.util.Vector java.util.Vector javax.swing.plaf.basic.BasicDirectoryModel$DoChangeContents
      StackMap stack:
            return
        end local 5 // javax.swing.plaf.basic.BasicDirectoryModel$DoChangeContents doChangeContents
        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   29     0              this  Ljavax/swing/plaf/basic/BasicDirectoryModel$FilesLoader;
            1   29     1        fileSystem  Ljavax/swing/filechooser/FileSystemView;
            4   29     2              list  [Ljava/io/File;
            7   29     3      newFileCache  Ljava/util/Vector<Ljava/io/File;>;
            8   29     4          newFiles  Ljava/util/Vector<Ljava/io/File;>;
           10   19     5              file  Ljava/io/File;
           12   19     9     isTraversable  Z
           25   29     5  doChangeContents  Ljavax/swing/plaf/basic/BasicDirectoryModel$DoChangeContents;

  public void cancelRunnables(java.util.Vector<javax.swing.plaf.basic.BasicDirectoryModel$DoChangeContents>);
    descriptor: (Ljava/util/Vector;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=2
        start local 0 // javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader this
        start local 1 // java.util.Vector runnables
         0: .line 391
            aload 1 /* runnables */
            invokevirtual java.util.Vector.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader java.util.Vector top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.swing.plaf.basic.BasicDirectoryModel$DoChangeContents
            astore 2 /* runnable */
        start local 2 // javax.swing.plaf.basic.BasicDirectoryModel$DoChangeContents runnable
         2: .line 392
            aload 2 /* runnable */
            invokevirtual javax.swing.plaf.basic.BasicDirectoryModel$DoChangeContents.cancel:()V
        end local 2 // javax.swing.plaf.basic.BasicDirectoryModel$DoChangeContents runnable
         3: .line 391
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 394
            return
        end local 1 // java.util.Vector runnables
        end local 0 // javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Ljavax/swing/plaf/basic/BasicDirectoryModel$FilesLoader;
            0    5     1  runnables  Ljava/util/Vector<Ljavax/swing/plaf/basic/BasicDirectoryModel$DoChangeContents;>;
            2    3     2   runnable  Ljavax/swing/plaf/basic/BasicDirectoryModel$DoChangeContents;
    Signature: (Ljava/util/Vector<Ljavax/swing/plaf/basic/BasicDirectoryModel$DoChangeContents;>;)V
    MethodParameters:
           Name  Flags
      runnables  

  public void cancelRunnables();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader this
         0: .line 397
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.runnables:Ljava/util/Vector;
            invokevirtual javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader.cancelRunnables:(Ljava/util/Vector;)V
         1: .line 398
            return
        end local 0 // javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     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 263
            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:
  DoChangeContents = javax.swing.plaf.basic.BasicDirectoryModel$DoChangeContents of javax.swing.plaf.basic.BasicDirectoryModel
  FilesLoader = javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader of javax.swing.plaf.basic.BasicDirectoryModel
  javax.swing.plaf.basic.BasicDirectoryModel$FilesLoader$1