public abstract class sun.awt.shell.ShellFolder extends java.io.File
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: sun.awt.shell.ShellFolder
  super_class: java.io.File
{
  private static final java.lang.String COLUMN_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "FileChooser.fileNameHeaderText"

  private static final java.lang.String COLUMN_SIZE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "FileChooser.fileSizeHeaderText"

  private static final java.lang.String COLUMN_DATE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "FileChooser.fileDateHeaderText"

  protected sun.awt.shell.ShellFolder parent;
    descriptor: Lsun/awt/shell/ShellFolder;
    flags: (0x0004) ACC_PROTECTED

  private static final sun.awt.shell.ShellFolderManager shellFolderManager;
    descriptor: Lsun/awt/shell/ShellFolderManager;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.awt.shell.ShellFolder$Invoker invoker;
    descriptor: Lsun/awt/shell/ShellFolder$Invoker;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.Comparator DEFAULT_COMPARATOR;
    descriptor: Ljava/util/Comparator;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.Comparator<java.io.File> FILE_COMPARATOR;
    descriptor: Ljava/util/Comparator;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Comparator<Ljava/io/File;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=2, args_size=0
         0: .line 207
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
         1: .line 208
            ldc "Shell.shellFolderManager"
            invokevirtual java.awt.Toolkit.getDesktopProperty:(Ljava/lang/String;)Ljava/lang/Object;
         2: .line 207
            checkcast java.lang.String
            astore 0 /* managerClassName */
        start local 0 // java.lang.String managerClassName
         3: .line 209
            aconst_null
            astore 1 /* managerClass */
        start local 1 // java.lang.Class managerClass
         4: .line 211
            aload 0 /* managerClassName */
            iconst_0
            aconst_null
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 1 /* managerClass */
         5: .line 212
            ldc Lsun/awt/shell/ShellFolderManager;
            aload 1 /* managerClass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 11
         6: .line 213
            aconst_null
            astore 1 /* managerClass */
         7: .line 216
            goto 11
      StackMap locals: java.lang.String java.lang.Class
      StackMap stack: java.lang.ClassNotFoundException
         8: pop
            goto 11
         9: .line 217
      StackMap locals:
      StackMap stack: java.lang.NullPointerException
            pop
            goto 11
        10: .line 218
      StackMap locals:
      StackMap stack: java.lang.SecurityException
            pop
        11: .line 221
      StackMap locals:
      StackMap stack:
            aload 1 /* managerClass */
            ifnonnull 13
        12: .line 222
            ldc Lsun/awt/shell/ShellFolderManager;
            astore 1 /* managerClass */
        13: .line 226
      StackMap locals:
      StackMap stack:
            aload 1 /* managerClass */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast sun.awt.shell.ShellFolderManager
        14: .line 225
            putstatic sun.awt.shell.ShellFolder.shellFolderManager:Lsun/awt/shell/ShellFolderManager;
        15: .line 227
            goto 24
      StackMap locals:
      StackMap stack: java.lang.InstantiationException
        16: pop
        17: .line 228
            new java.lang.Error
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not instantiate Shell Folder Manager: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        18: .line 229
            aload 1 /* managerClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 228
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 230
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            pop
        21: .line 231
            new java.lang.Error
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not access Shell Folder Manager: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        22: .line 232
            aload 1 /* managerClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 231
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 235
      StackMap locals:
      StackMap stack:
            getstatic sun.awt.shell.ShellFolder.shellFolderManager:Lsun/awt/shell/ShellFolderManager;
            invokevirtual sun.awt.shell.ShellFolderManager.createInvoker:()Lsun/awt/shell/ShellFolder$Invoker;
            putstatic sun.awt.shell.ShellFolder.invoker:Lsun/awt/shell/ShellFolder$Invoker;
        end local 1 // java.lang.Class managerClass
        end local 0 // java.lang.String managerClassName
        25: .line 558
            new sun.awt.shell.ShellFolder$1
            dup
            invokespecial sun.awt.shell.ShellFolder$1.<init>:()V
            putstatic sun.awt.shell.ShellFolder.DEFAULT_COMPARATOR:Ljava/util/Comparator;
        26: .line 578
            new sun.awt.shell.ShellFolder$2
            dup
            invokespecial sun.awt.shell.ShellFolder$2.<init>:()V
            putstatic sun.awt.shell.ShellFolder.FILE_COMPARATOR:Ljava/util/Comparator;
        27: .line 618
            return
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            3   25     0  managerClassName  Ljava/lang/String;
            4   25     1      managerClass  Ljava/lang/Class;
      Exception table:
        from    to  target  type
           4     7       8  Class java.lang.ClassNotFoundException
           4     7       9  Class java.lang.NullPointerException
           4     7      10  Class java.lang.SecurityException
          13    15      16  Class java.lang.InstantiationException
          13    15      20  Class java.lang.IllegalAccessException

  void <init>(sun.awt.shell.ShellFolder, java.lang.String);
    descriptor: (Lsun/awt/shell/ShellFolder;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.awt.shell.ShellFolder this
        start local 1 // sun.awt.shell.ShellFolder parent
        start local 2 // java.lang.String pathname
         0: .line 52
            aload 0 /* this */
            aload 2 /* pathname */
            ifnull 1
            aload 2 /* pathname */
            goto 2
      StackMap locals:
      StackMap stack: uninitialized-this
         1: ldc "ShellFolder"
      StackMap locals: uninitialized-this sun.awt.shell.ShellFolder java.lang.String
      StackMap stack: uninitialized-this java.lang.String
         2: invokespecial java.io.File.<init>:(Ljava/lang/String;)V
         3: .line 53
            aload 0 /* this */
            aload 1 /* parent */
            putfield sun.awt.shell.ShellFolder.parent:Lsun/awt/shell/ShellFolder;
         4: .line 54
            return
        end local 2 // java.lang.String pathname
        end local 1 // sun.awt.shell.ShellFolder parent
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lsun/awt/shell/ShellFolder;
            0    5     1    parent  Lsun/awt/shell/ShellFolder;
            0    5     2  pathname  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      parent    
      pathname  

  public boolean isFileSystem();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.shell.ShellFolder this
         0: .line 60
            aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.getPath:()Ljava/lang/String;
            ldc "ShellFolder"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/shell/ShellFolder;

  protected abstract java.lang.Object writeReplace();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.io.ObjectStreamException

  public java.lang.String getParent();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.shell.ShellFolder this
         0: .line 88
            aload 0 /* this */
            getfield sun.awt.shell.ShellFolder.parent:Lsun/awt/shell/ShellFolder;
            ifnonnull 2
            aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.isFileSystem:()Z
            ifeq 2
         1: .line 89
            aload 0 /* this */
            invokespecial java.io.File.getParent:()Ljava/lang/String;
            areturn
         2: .line 91
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.shell.ShellFolder.parent:Lsun/awt/shell/ShellFolder;
            ifnull 4
         3: .line 92
            aload 0 /* this */
            getfield sun.awt.shell.ShellFolder.parent:Lsun/awt/shell/ShellFolder;
            invokevirtual sun.awt.shell.ShellFolder.getPath:()Ljava/lang/String;
            areturn
         4: .line 94
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/awt/shell/ShellFolder;

  public java.io.File getParentFile();
    descriptor: ()Ljava/io/File;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.shell.ShellFolder this
         0: .line 111
            aload 0 /* this */
            getfield sun.awt.shell.ShellFolder.parent:Lsun/awt/shell/ShellFolder;
            ifnull 2
         1: .line 112
            aload 0 /* this */
            getfield sun.awt.shell.ShellFolder.parent:Lsun/awt/shell/ShellFolder;
            areturn
         2: .line 113
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.isFileSystem:()Z
            ifeq 4
         3: .line 114
            aload 0 /* this */
            invokespecial java.io.File.getParentFile:()Ljava/io/File;
            areturn
         4: .line 116
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/awt/shell/ShellFolder;

  public java.io.File[] listFiles();
    descriptor: ()[Ljava/io/File;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.shell.ShellFolder this
         0: .line 121
            aload 0 /* this */
            iconst_1
            invokevirtual sun.awt.shell.ShellFolder.listFiles:(Z)[Ljava/io/File;
            areturn
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/shell/ShellFolder;

  public java.io.File[] listFiles(boolean);
    descriptor: (Z)[Ljava/io/File;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // sun.awt.shell.ShellFolder this
        start local 1 // boolean includeHiddenFiles
         0: .line 125
            aload 0 /* this */
            invokespecial java.io.File.listFiles:()[Ljava/io/File;
            astore 2 /* files */
        start local 2 // java.io.File[] files
         1: .line 127
            iload 1 /* includeHiddenFiles */
            ifne 13
         2: .line 128
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 3 /* v */
        start local 3 // java.util.Vector v
         3: .line 129
            aload 2 /* files */
            ifnonnull 4
            iconst_0
            goto 5
      StackMap locals: java.io.File[] java.util.Vector
      StackMap stack:
         4: aload 2 /* files */
            arraylength
      StackMap locals:
      StackMap stack: int
         5: istore 4 /* nameCount */
        start local 4 // int nameCount
         6: .line 130
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         7: goto 11
         8: .line 131
      StackMap locals: int int
      StackMap stack:
            aload 2 /* files */
            iload 5 /* i */
            aaload
            invokevirtual java.io.File.isHidden:()Z
            ifne 10
         9: .line 132
            aload 3 /* v */
            aload 2 /* files */
            iload 5 /* i */
            aaload
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        10: .line 130
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            iload 4 /* nameCount */
            if_icmplt 8
        end local 5 // int i
        12: .line 135
            aload 3 /* v */
            aload 3 /* v */
            invokevirtual java.util.Vector.size:()I
            anewarray java.io.File
            invokevirtual java.util.Vector.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.io.File[]
            astore 2 /* files */
        end local 4 // int nameCount
        end local 3 // java.util.Vector v
        13: .line 138
      StackMap locals:
      StackMap stack:
            aload 2 /* files */
            areturn
        end local 2 // java.io.File[] files
        end local 1 // boolean includeHiddenFiles
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   14     0                this  Lsun/awt/shell/ShellFolder;
            0   14     1  includeHiddenFiles  Z
            1   14     2               files  [Ljava/io/File;
            3   13     3                   v  Ljava/util/Vector;
            6   13     4           nameCount  I
            7   12     5                   i  I
    MethodParameters:
                    Name  Flags
      includeHiddenFiles  

  public abstract boolean isLink();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract sun.awt.shell.ShellFolder getLinkLocation();
    descriptor: ()Lsun/awt/shell/ShellFolder;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.FileNotFoundException

  public abstract java.lang.String getDisplayName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getFolderType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getExecutableType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public int compareTo(java.io.File);
    descriptor: (Ljava/io/File;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.shell.ShellFolder this
        start local 1 // java.io.File file2
         0: .line 174
            aload 1 /* file2 */
            ifnull 2
            aload 1 /* file2 */
            instanceof sun.awt.shell.ShellFolder
            ifeq 2
         1: .line 175
            aload 1 /* file2 */
            instanceof sun.awt.shell.ShellFolder
            ifeq 5
            aload 1 /* file2 */
            checkcast sun.awt.shell.ShellFolder
            invokevirtual sun.awt.shell.ShellFolder.isFileSystem:()Z
            ifeq 5
         2: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.isFileSystem:()Z
            ifeq 4
         3: .line 178
            aload 0 /* this */
            aload 1 /* file2 */
            invokespecial java.io.File.compareTo:(Ljava/io/File;)I
            ireturn
         4: .line 180
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
         5: .line 183
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.isFileSystem:()Z
            ifeq 7
         6: .line 184
            iconst_1
            ireturn
         7: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.getName:()Ljava/lang/String;
            aload 1 /* file2 */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            ireturn
        end local 1 // java.io.File file2
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lsun/awt/shell/ShellFolder;
            0    8     1  file2  Ljava/io/File;
    MethodParameters:
       Name  Flags
      file2  

  public java.awt.Image getIcon(boolean);
    descriptor: (Z)Ljava/awt/Image;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.awt.shell.ShellFolder this
        start local 1 // boolean getLargeIcon
         0: .line 196
            aconst_null
            areturn
        end local 1 // boolean getLargeIcon
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lsun/awt/shell/ShellFolder;
            0    1     1  getLargeIcon  Z
    MethodParameters:
              Name  Flags
      getLargeIcon  

  public static sun.awt.shell.ShellFolder getShellFolder(java.io.File);
    descriptor: (Ljava/io/File;)Lsun/awt/shell/ShellFolder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.File file
         0: .line 243
            aload 0 /* file */
            instanceof sun.awt.shell.ShellFolder
            ifeq 2
         1: .line 244
            aload 0 /* file */
            checkcast sun.awt.shell.ShellFolder
            areturn
         2: .line 246
      StackMap locals:
      StackMap stack:
            aload 0 /* file */
            invokevirtual java.io.File.exists:()Z
            ifne 4
         3: .line 247
            new java.io.FileNotFoundException
            dup
            invokespecial java.io.FileNotFoundException.<init>:()V
            athrow
         4: .line 249
      StackMap locals:
      StackMap stack:
            getstatic sun.awt.shell.ShellFolder.shellFolderManager:Lsun/awt/shell/ShellFolderManager;
            aload 0 /* file */
            invokevirtual sun.awt.shell.ShellFolderManager.createShellFolder:(Ljava/io/File;)Lsun/awt/shell/ShellFolder;
            areturn
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  file  Ljava/io/File;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
      Name  Flags
      file  

  public static java.lang.Object get(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String key
         0: .line 258
            getstatic sun.awt.shell.ShellFolder.shellFolderManager:Lsun/awt/shell/ShellFolderManager;
            aload 0 /* key */
            invokevirtual sun.awt.shell.ShellFolderManager.get:(Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  public static boolean isComputerNode(java.io.File);
    descriptor: (Ljava/io/File;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.File dir
         0: .line 266
            getstatic sun.awt.shell.ShellFolder.shellFolderManager:Lsun/awt/shell/ShellFolderManager;
            aload 0 /* dir */
            invokevirtual sun.awt.shell.ShellFolderManager.isComputerNode:(Ljava/io/File;)Z
            ireturn
        end local 0 // java.io.File dir
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   dir  Ljava/io/File;
    MethodParameters:
      Name  Flags
      dir   

  public static boolean isFileSystemRoot(java.io.File);
    descriptor: (Ljava/io/File;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.File dir
         0: .line 273
            getstatic sun.awt.shell.ShellFolder.shellFolderManager:Lsun/awt/shell/ShellFolderManager;
            aload 0 /* dir */
            invokevirtual sun.awt.shell.ShellFolderManager.isFileSystemRoot:(Ljava/io/File;)Z
            ireturn
        end local 0 // java.io.File dir
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   dir  Ljava/io/File;
    MethodParameters:
      Name  Flags
      dir   

  public static java.io.File getNormalizedFile(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.io.File f
         0: .line 281
            aload 0 /* f */
            invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
            astore 1 /* canonical */
        start local 1 // java.io.File canonical
         1: .line 282
            aload 0 /* f */
            aload 1 /* canonical */
            invokevirtual java.io.File.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 284
            aload 1 /* canonical */
            areturn
         3: .line 288
      StackMap locals: java.io.File
      StackMap stack:
            new java.io.File
            dup
            aload 0 /* f */
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            invokevirtual java.net.URI.normalize:()Ljava/net/URI;
            invokespecial java.io.File.<init>:(Ljava/net/URI;)V
            areturn
        end local 1 // java.io.File canonical
        end local 0 // java.io.File f
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0          f  Ljava/io/File;
            1    4     1  canonical  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      f     

  public static void sort(java.util.List<? extends java.io.File>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.List files
         0: .line 294
            aload 0 /* files */
            ifnull 1
            aload 0 /* files */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpgt 2
         1: .line 295
      StackMap locals:
      StackMap stack:
            return
         2: .line 300
      StackMap locals:
      StackMap stack:
            new sun.awt.shell.ShellFolder$3
            dup
            aload 0 /* files */
            invokespecial sun.awt.shell.ShellFolder$3.<init>:(Ljava/util/List;)V
            invokestatic sun.awt.shell.ShellFolder.invoke:(Ljava/util/concurrent/Callable;)Ljava/lang/Object;
            pop
         3: .line 336
            return
        end local 0 // java.util.List files
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  files  Ljava/util/List<+Ljava/io/File;>;
    Signature: (Ljava/util/List<+Ljava/io/File;>;)V
    MethodParameters:
       Name  Flags
      files  final

  public void sortChildren(java.util.List<? extends java.io.File>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.awt.shell.ShellFolder this
        start local 1 // java.util.List files
         0: .line 341
            new sun.awt.shell.ShellFolder$4
            dup
            aload 0 /* this */
            aload 1 /* files */
            invokespecial sun.awt.shell.ShellFolder$4.<init>:(Lsun/awt/shell/ShellFolder;Ljava/util/List;)V
            invokestatic sun.awt.shell.ShellFolder.invoke:(Ljava/util/concurrent/Callable;)Ljava/lang/Object;
            pop
         1: .line 348
            return
        end local 1 // java.util.List files
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/awt/shell/ShellFolder;
            0    2     1  files  Ljava/util/List<+Ljava/io/File;>;
    Signature: (Ljava/util/List<+Ljava/io/File;>;)V
    MethodParameters:
       Name  Flags
      files  final

  public boolean isAbsolute();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.shell.ShellFolder this
         0: .line 351
            aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.isFileSystem:()Z
            ifeq 1
            aload 0 /* this */
            invokespecial java.io.File.isAbsolute:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/shell/ShellFolder;

  public java.io.File getAbsoluteFile();
    descriptor: ()Ljava/io/File;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.shell.ShellFolder this
         0: .line 355
            aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.isFileSystem:()Z
            ifeq 1
            aload 0 /* this */
            invokespecial java.io.File.getAbsoluteFile:()Ljava/io/File;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
      StackMap locals:
      StackMap stack: java.io.File
         2: areturn
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/shell/ShellFolder;

  public boolean canRead();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.shell.ShellFolder this
         0: .line 359
            aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.isFileSystem:()Z
            ifeq 1
            aload 0 /* this */
            invokespecial java.io.File.canRead:()Z
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/shell/ShellFolder;

  public boolean canWrite();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.shell.ShellFolder this
         0: .line 368
            aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.isFileSystem:()Z
            ifeq 1
            aload 0 /* this */
            invokespecial java.io.File.canWrite:()Z
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/shell/ShellFolder;

  public boolean exists();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.shell.ShellFolder this
         0: .line 374
            aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.isFileSystem:()Z
            ifeq 1
            aload 0 /* this */
            invokestatic sun.awt.shell.ShellFolder.isFileSystemRoot:(Ljava/io/File;)Z
            ifne 1
            aload 0 /* this */
            invokespecial java.io.File.exists:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/shell/ShellFolder;

  public boolean isDirectory();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.shell.ShellFolder this
         0: .line 378
            aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.isFileSystem:()Z
            ifeq 1
            aload 0 /* this */
            invokespecial java.io.File.isDirectory:()Z
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/shell/ShellFolder;

  public boolean isFile();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.shell.ShellFolder this
         0: .line 382
            aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.isFileSystem:()Z
            ifeq 1
            aload 0 /* this */
            invokespecial java.io.File.isFile:()Z
            goto 3
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.isDirectory:()Z
            ifeq 2
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/awt/shell/ShellFolder;

  public long lastModified();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.shell.ShellFolder this
         0: .line 386
            aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.isFileSystem:()Z
            ifeq 1
            aload 0 /* this */
            invokespecial java.io.File.lastModified:()J
            goto 2
      StackMap locals:
      StackMap stack:
         1: lconst_0
      StackMap locals:
      StackMap stack: long
         2: lreturn
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/shell/ShellFolder;

  public long length();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.shell.ShellFolder this
         0: .line 390
            aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.isFileSystem:()Z
            ifeq 1
            aload 0 /* this */
            invokespecial java.io.File.length:()J
            goto 2
      StackMap locals:
      StackMap stack:
         1: lconst_0
      StackMap locals:
      StackMap stack: long
         2: lreturn
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/shell/ShellFolder;

  public boolean createNewFile();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.shell.ShellFolder this
         0: .line 394
            aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.isFileSystem:()Z
            ifeq 1
            aload 0 /* this */
            invokespecial java.io.File.createNewFile:()Z
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/shell/ShellFolder;
    Exceptions:
      throws java.io.IOException

  public boolean delete();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.shell.ShellFolder this
         0: .line 398
            aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.isFileSystem:()Z
            ifeq 1
            aload 0 /* this */
            invokespecial java.io.File.delete:()Z
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/shell/ShellFolder;

  public void deleteOnExit();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.shell.ShellFolder this
         0: .line 402
            aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.isFileSystem:()Z
            ifeq 2
         1: .line 403
            aload 0 /* this */
            invokespecial java.io.File.deleteOnExit:()V
         2: .line 407
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/shell/ShellFolder;

  public boolean mkdir();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.shell.ShellFolder this
         0: .line 410
            aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.isFileSystem:()Z
            ifeq 1
            aload 0 /* this */
            invokespecial java.io.File.mkdir:()Z
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/shell/ShellFolder;

  public boolean mkdirs();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.shell.ShellFolder this
         0: .line 414
            aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.isFileSystem:()Z
            ifeq 1
            aload 0 /* this */
            invokespecial java.io.File.mkdirs:()Z
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/shell/ShellFolder;

  public boolean renameTo(java.io.File);
    descriptor: (Ljava/io/File;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.shell.ShellFolder this
        start local 1 // java.io.File dest
         0: .line 418
            aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.isFileSystem:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* dest */
            invokespecial java.io.File.renameTo:(Ljava/io/File;)Z
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // java.io.File dest
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/shell/ShellFolder;
            0    3     1  dest  Ljava/io/File;
    MethodParameters:
      Name  Flags
      dest  

  public boolean setLastModified(long);
    descriptor: (J)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.awt.shell.ShellFolder this
        start local 1 // long time
         0: .line 422
            aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.isFileSystem:()Z
            ifeq 1
            aload 0 /* this */
            lload 1 /* time */
            invokespecial java.io.File.setLastModified:(J)Z
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // long time
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/shell/ShellFolder;
            0    3     1  time  J
    MethodParameters:
      Name  Flags
      time  

  public boolean setReadOnly();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.shell.ShellFolder this
         0: .line 426
            aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.isFileSystem:()Z
            ifeq 1
            aload 0 /* this */
            invokespecial java.io.File.setReadOnly:()Z
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/shell/ShellFolder;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.shell.ShellFolder this
         0: .line 430
            aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.isFileSystem:()Z
            ifeq 1
            aload 0 /* this */
            invokespecial java.io.File.toString:()Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            invokevirtual sun.awt.shell.ShellFolder.getDisplayName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/shell/ShellFolder;

  public static sun.awt.shell.ShellFolderColumnInfo[] getFolderColumns(java.io.File);
    descriptor: (Ljava/io/File;)[Lsun/awt/shell/ShellFolderColumnInfo;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=12, locals=2, args_size=1
        start local 0 // java.io.File dir
         0: .line 434
            aconst_null
            astore 1 /* columns */
        start local 1 // sun.awt.shell.ShellFolderColumnInfo[] columns
         1: .line 436
            aload 0 /* dir */
            instanceof sun.awt.shell.ShellFolder
            ifeq 3
         2: .line 437
            aload 0 /* dir */
            checkcast sun.awt.shell.ShellFolder
            invokevirtual sun.awt.shell.ShellFolder.getFolderColumns:()[Lsun/awt/shell/ShellFolderColumnInfo;
            astore 1 /* columns */
         3: .line 440
      StackMap locals: sun.awt.shell.ShellFolderColumnInfo[]
      StackMap stack:
            aload 1 /* columns */
            ifnonnull 18
         4: .line 441
            iconst_3
            anewarray sun.awt.shell.ShellFolderColumnInfo
            dup
            iconst_0
         5: .line 442
            new sun.awt.shell.ShellFolderColumnInfo
            dup
            ldc "FileChooser.fileNameHeaderText"
            sipush 150
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
         6: .line 443
            bipush 10
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_1
            aconst_null
         7: .line 444
            getstatic sun.awt.shell.ShellFolder.FILE_COMPARATOR:Ljava/util/Comparator;
         8: .line 442
            invokespecial sun.awt.shell.ShellFolderColumnInfo.<init>:(Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;ZLjavax/swing/SortOrder;Ljava/util/Comparator;)V
            aastore
            dup
            iconst_1
         9: .line 445
            new sun.awt.shell.ShellFolderColumnInfo
            dup
            ldc "FileChooser.fileSizeHeaderText"
            bipush 75
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        10: .line 446
            iconst_4
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_1
            aconst_null
        11: .line 447
            getstatic sun.awt.shell.ShellFolder.DEFAULT_COMPARATOR:Ljava/util/Comparator;
            iconst_1
        12: .line 445
            invokespecial sun.awt.shell.ShellFolderColumnInfo.<init>:(Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;ZLjavax/swing/SortOrder;Ljava/util/Comparator;Z)V
            aastore
            dup
            iconst_2
        13: .line 448
            new sun.awt.shell.ShellFolderColumnInfo
            dup
            ldc "FileChooser.fileDateHeaderText"
            sipush 130
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        14: .line 449
            bipush 10
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_1
            aconst_null
        15: .line 450
            getstatic sun.awt.shell.ShellFolder.DEFAULT_COMPARATOR:Ljava/util/Comparator;
            iconst_1
        16: .line 448
            invokespecial sun.awt.shell.ShellFolderColumnInfo.<init>:(Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;ZLjavax/swing/SortOrder;Ljava/util/Comparator;Z)V
            aastore
        17: .line 441
            astore 1 /* columns */
        18: .line 454
      StackMap locals:
      StackMap stack:
            aload 1 /* columns */
            areturn
        end local 1 // sun.awt.shell.ShellFolderColumnInfo[] columns
        end local 0 // java.io.File dir
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0      dir  Ljava/io/File;
            1   19     1  columns  [Lsun/awt/shell/ShellFolderColumnInfo;
    MethodParameters:
      Name  Flags
      dir   

  public sun.awt.shell.ShellFolderColumnInfo[] getFolderColumns();
    descriptor: ()[Lsun/awt/shell/ShellFolderColumnInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.shell.ShellFolder this
         0: .line 458
            aconst_null
            areturn
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/shell/ShellFolder;

  public static java.lang.Object getFolderColumnValue(java.io.File, int);
    descriptor: (Ljava/io/File;I)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.io.File file
        start local 1 // int column
         0: .line 462
            aload 0 /* file */
            instanceof sun.awt.shell.ShellFolder
            ifeq 4
         1: .line 463
            aload 0 /* file */
            checkcast sun.awt.shell.ShellFolder
            iload 1 /* column */
            invokevirtual sun.awt.shell.ShellFolder.getFolderColumnValue:(I)Ljava/lang/Object;
            astore 2 /* value */
        start local 2 // java.lang.Object value
         2: .line 464
            aload 2 /* value */
            ifnull 4
         3: .line 465
            aload 2 /* value */
            areturn
        end local 2 // java.lang.Object value
         4: .line 469
      StackMap locals:
      StackMap stack:
            aload 0 /* file */
            ifnull 5
            aload 0 /* file */
            invokevirtual java.io.File.exists:()Z
            ifne 6
         5: .line 470
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         6: .line 473
      StackMap locals:
      StackMap stack:
            iload 1 /* column */
            tableswitch { // 0 - 2
                    0: 7
                    1: 8
                    2: 11
              default: 17
          }
         7: .line 476
      StackMap locals:
      StackMap stack:
            aload 0 /* file */
            areturn
         8: .line 479
      StackMap locals:
      StackMap stack:
            aload 0 /* file */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 9
            aconst_null
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 0 /* file */
            invokevirtual java.io.File.length:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
      StackMap locals:
      StackMap stack: java.lang.Long
        10: areturn
        11: .line 482
      StackMap locals:
      StackMap stack:
            aload 0 /* file */
            invokestatic sun.awt.shell.ShellFolder.isFileSystemRoot:(Ljava/io/File;)Z
            ifeq 13
        12: .line 483
            aconst_null
            areturn
        13: .line 485
      StackMap locals:
      StackMap stack:
            aload 0 /* file */
            invokevirtual java.io.File.lastModified:()J
            lstore 2 /* time */
        start local 2 // long time
        14: .line 486
            lload 2 /* time */
            lconst_0
            lcmp
            ifne 15
            aconst_null
            goto 16
      StackMap locals: long
      StackMap stack:
        15: new java.util.Date
            dup
            lload 2 /* time */
            invokespecial java.util.Date.<init>:(J)V
      StackMap locals:
      StackMap stack: java.util.Date
        16: areturn
        end local 2 // long time
        17: .line 489
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // int column
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    file  Ljava/io/File;
            0   18     1  column  I
            2    4     2   value  Ljava/lang/Object;
           14   17     2    time  J
    MethodParameters:
        Name  Flags
      file    
      column  

  public java.lang.Object getFolderColumnValue(int);
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.awt.shell.ShellFolder this
        start local 1 // int column
         0: .line 494
            aconst_null
            areturn
        end local 1 // int column
        end local 0 // sun.awt.shell.ShellFolder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lsun/awt/shell/ShellFolder;
            0    1     1  column  I
    MethodParameters:
        Name  Flags
      column  

  public static <T> T invoke(java.util.concurrent.Callable<T>);
    descriptor: (Ljava/util/concurrent/Callable;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.concurrent.Callable task
         0: .line 504
            aload 0 /* task */
            ldc Ljava/lang/RuntimeException;
            invokestatic sun.awt.shell.ShellFolder.invoke:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)Ljava/lang/Object;
         1: areturn
         2: .line 505
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
            pop
         3: .line 506
            aconst_null
            areturn
        end local 0 // java.util.concurrent.Callable task
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  task  Ljava/util/concurrent/Callable<TT;>;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.InterruptedException
    Signature: <T:Ljava/lang/Object;>(Ljava/util/concurrent/Callable<TT;>;)TT;
    MethodParameters:
      Name  Flags
      task  

  public static <T, E extends java.lang.Throwable> T invoke(java.util.concurrent.Callable<T>, java.lang.Class<E>) throws java.lang.InterruptedException, E;
    descriptor: (Ljava/util/concurrent/Callable;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.util.concurrent.Callable task
        start local 1 // java.lang.Class exceptionClass
         0: .line 518
            getstatic sun.awt.shell.ShellFolder.invoker:Lsun/awt/shell/ShellFolder$Invoker;
            aload 0 /* task */
            invokeinterface sun.awt.shell.ShellFolder$Invoker.invoke:(Ljava/util/concurrent/Callable;)Ljava/lang/Object;
         1: areturn
         2: .line 519
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
         3: .line 520
            aload 2 /* e */
            instanceof java.lang.RuntimeException
            ifeq 5
         4: .line 522
            aload 2 /* e */
            checkcast java.lang.RuntimeException
            athrow
         5: .line 525
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 2 /* e */
            instanceof java.lang.InterruptedException
            ifeq 8
         6: .line 527
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
         7: .line 530
            aload 2 /* e */
            checkcast java.lang.InterruptedException
            athrow
         8: .line 533
      StackMap locals:
      StackMap stack:
            aload 1 /* exceptionClass */
            aload 2 /* e */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 534
            aload 1 /* exceptionClass */
            aload 2 /* e */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Throwable
            athrow
        10: .line 537
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            ldc "Unexpected error"
            aload 2 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Exception e
        end local 1 // java.lang.Class exceptionClass
        end local 0 // java.util.concurrent.Callable task
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            task  Ljava/util/concurrent/Callable<TT;>;
            0   11     1  exceptionClass  Ljava/lang/Class<TE;>;
            3   11     2               e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    Exceptions:
      throws java.lang.InterruptedException, java.lang.Throwable
    Signature: <T:Ljava/lang/Object;E:Ljava/lang/Throwable;>(Ljava/util/concurrent/Callable<TT;>;Ljava/lang/Class<TE;>;)TT;^Ljava/lang/InterruptedException;^TE;
    MethodParameters:
                Name  Flags
      task            
      exceptionClass  
}
SourceFile: "ShellFolder.java"
NestMembers:
  sun.awt.shell.ShellFolder$1  sun.awt.shell.ShellFolder$2  sun.awt.shell.ShellFolder$3  sun.awt.shell.ShellFolder$4  sun.awt.shell.ShellFolder$Invoker
InnerClasses:
  sun.awt.shell.ShellFolder$1
  sun.awt.shell.ShellFolder$2
  sun.awt.shell.ShellFolder$3
  sun.awt.shell.ShellFolder$4
  public abstract Invoker = sun.awt.shell.ShellFolder$Invoker of sun.awt.shell.ShellFolder