class sun.nio.fs.WindowsFileCopy
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.nio.fs.WindowsFileCopy
  super_class: java.lang.Object
{
  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 39
            ldc Lsun/nio/fs/WindowsFileCopy;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic sun.nio.fs.WindowsFileCopy.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.nio.fs.WindowsFileCopy this
         0: .line 40
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 41
            return
        end local 0 // sun.nio.fs.WindowsFileCopy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/nio/fs/WindowsFileCopy;

  static void copy(sun.nio.fs.WindowsPath, sun.nio.fs.WindowsPath, java.nio.file.CopyOption[]);
    descriptor: (Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;[Ljava/nio/file/CopyOption;)V
    flags: (0x0088) ACC_STATIC, ACC_VARARGS
    Code:
      stack=7, locals=18, args_size=3
        start local 0 // sun.nio.fs.WindowsPath source
        start local 1 // sun.nio.fs.WindowsPath target
        start local 2 // java.nio.file.CopyOption[] options
         0: .line 52
            iconst_0
            istore 3 /* replaceExisting */
        start local 3 // boolean replaceExisting
         1: .line 53
            iconst_0
            istore 4 /* copyAttributes */
        start local 4 // boolean copyAttributes
         2: .line 54
            iconst_1
            istore 5 /* followLinks */
        start local 5 // boolean followLinks
         3: .line 55
            iconst_0
            istore 6 /* interruptible */
        start local 6 // boolean interruptible
         4: .line 56
            aload 2 /* options */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 22
      StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int int int top int int java.nio.file.CopyOption[]
      StackMap stack:
         5: aload 10
            iload 8
            aaload
            astore 7 /* option */
        start local 7 // java.nio.file.CopyOption option
         6: .line 57
            aload 7 /* option */
            getstatic java.nio.file.StandardCopyOption.REPLACE_EXISTING:Ljava/nio/file/StandardCopyOption;
            if_acmpne 9
         7: .line 58
            iconst_1
            istore 3 /* replaceExisting */
         8: .line 59
            goto 21
         9: .line 61
      StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int int int java.nio.file.CopyOption int int java.nio.file.CopyOption[]
      StackMap stack:
            aload 7 /* option */
            getstatic java.nio.file.LinkOption.NOFOLLOW_LINKS:Ljava/nio/file/LinkOption;
            if_acmpne 12
        10: .line 62
            iconst_0
            istore 5 /* followLinks */
        11: .line 63
            goto 21
        12: .line 65
      StackMap locals:
      StackMap stack:
            aload 7 /* option */
            getstatic java.nio.file.StandardCopyOption.COPY_ATTRIBUTES:Ljava/nio/file/StandardCopyOption;
            if_acmpne 15
        13: .line 66
            iconst_1
            istore 4 /* copyAttributes */
        14: .line 67
            goto 21
        15: .line 69
      StackMap locals:
      StackMap stack:
            getstatic sun.nio.fs.ExtendedOptions.INTERRUPTIBLE:Lsun/nio/fs/ExtendedOptions$InternalOption;
            aload 7 /* option */
            invokevirtual sun.nio.fs.ExtendedOptions$InternalOption.matches:(Ljava/lang/Object;)Z
            ifeq 18
        16: .line 70
            iconst_1
            istore 6 /* interruptible */
        17: .line 71
            goto 21
        18: .line 73
      StackMap locals:
      StackMap stack:
            aload 7 /* option */
            ifnonnull 20
        19: .line 74
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
        20: .line 75
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            ldc "Unsupported copy option"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // java.nio.file.CopyOption option
        21: .line 56
      StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int int int top int int java.nio.file.CopyOption[]
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        22: iload 8
            iload 9
            if_icmplt 5
        23: .line 80
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 7 /* sm */
        start local 7 // java.lang.SecurityManager sm
        24: .line 81
            aload 7 /* sm */
            ifnull 27
        25: .line 82
            aload 0 /* source */
            invokevirtual sun.nio.fs.WindowsPath.checkRead:()V
        26: .line 83
            aload 1 /* target */
            invokevirtual sun.nio.fs.WindowsPath.checkWrite:()V
        27: .line 91
      StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int int int java.lang.SecurityManager
      StackMap stack:
            aconst_null
            astore 8 /* sourceAttrs */
        start local 8 // sun.nio.fs.WindowsFileAttributes sourceAttrs
        28: .line 92
            aconst_null
            astore 9 /* targetAttrs */
        start local 9 // sun.nio.fs.WindowsFileAttributes targetAttrs
        29: .line 94
            lconst_0
            lstore 10 /* sourceHandle */
        start local 10 // long sourceHandle
        30: .line 96
            aload 0 /* source */
            iload 5 /* followLinks */
            invokevirtual sun.nio.fs.WindowsPath.openForReadAttributeAccess:(Z)J
            lstore 10 /* sourceHandle */
        31: .line 97
            goto 34
      StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int int int java.lang.SecurityManager sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsFileAttributes long
      StackMap stack: sun.nio.fs.WindowsException
        32: astore 12 /* x */
        start local 12 // sun.nio.fs.WindowsException x
        33: .line 98
            aload 12 /* x */
            aload 0 /* source */
            invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
        end local 12 // sun.nio.fs.WindowsException x
        34: .line 103
      StackMap locals:
      StackMap stack:
            lload 10 /* sourceHandle */
            invokestatic sun.nio.fs.WindowsFileAttributes.readAttributes:(J)Lsun/nio/fs/WindowsFileAttributes;
            astore 8 /* sourceAttrs */
        35: .line 104
            goto 38
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
        36: astore 12 /* x */
        start local 12 // sun.nio.fs.WindowsException x
        37: .line 105
            aload 12 /* x */
            aload 0 /* source */
            invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
        end local 12 // sun.nio.fs.WindowsException x
        38: .line 109
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 12 /* targetHandle */
        start local 12 // long targetHandle
        39: .line 111
            aload 1 /* target */
            iconst_0
            invokevirtual sun.nio.fs.WindowsPath.openForReadAttributeAccess:(Z)J
            lstore 12 /* targetHandle */
        40: .line 113
            lload 12 /* targetHandle */
            invokestatic sun.nio.fs.WindowsFileAttributes.readAttributes:(J)Lsun/nio/fs/WindowsFileAttributes;
            astore 9 /* targetAttrs */
        41: .line 116
            aload 8 /* sourceAttrs */
            aload 9 /* targetAttrs */
            invokestatic sun.nio.fs.WindowsFileAttributes.isSameFile:(Lsun/nio/fs/WindowsFileAttributes;Lsun/nio/fs/WindowsFileAttributes;)Z
            ifeq 45
        42: .line 127
            lload 12 /* targetHandle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        43: .line 134
            lload 10 /* sourceHandle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        44: .line 117
            return
        45: .line 121
      StackMap locals: long
      StackMap stack:
            iload 3 /* replaceExisting */
            ifne 52
        46: .line 122
            new java.nio.file.FileAlreadyExistsException
            dup
        47: .line 123
            aload 1 /* target */
            invokevirtual sun.nio.fs.WindowsPath.getPathForExceptionMessage:()Ljava/lang/String;
        48: .line 122
            invokespecial java.nio.file.FileAlreadyExistsException.<init>:(Ljava/lang/String;)V
            athrow
        49: .line 126
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 14
        50: .line 127
            lload 12 /* targetHandle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        51: .line 128
            aload 14
            athrow
        52: .line 127
      StackMap locals:
      StackMap stack:
            lload 12 /* targetHandle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        53: .line 129
            goto 59
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
        54: pop
        end local 12 // long targetHandle
        55: .line 133
            goto 59
      StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int int int java.lang.SecurityManager sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsFileAttributes long
      StackMap stack: java.lang.Throwable
        56: astore 15
        57: .line 134
            lload 10 /* sourceHandle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        58: .line 135
            aload 15
            athrow
        59: .line 134
      StackMap locals:
      StackMap stack:
            lload 10 /* sourceHandle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        60: .line 138
            aload 7 /* sm */
            ifnull 62
            aload 8 /* sourceAttrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.isSymbolicLink:()Z
            ifeq 62
        61: .line 139
            aload 7 /* sm */
            new java.nio.file.LinkPermission
            dup
            ldc "symbolic"
            invokespecial java.nio.file.LinkPermission.<init>:(Ljava/lang/String;)V
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        62: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            invokestatic sun.nio.fs.WindowsFileCopy.asWin32Path:(Lsun/nio/fs/WindowsPath;)Ljava/lang/String;
            astore 12 /* sourcePath */
        start local 12 // java.lang.String sourcePath
        63: .line 143
            aload 1 /* target */
            invokestatic sun.nio.fs.WindowsFileCopy.asWin32Path:(Lsun/nio/fs/WindowsPath;)Ljava/lang/String;
            astore 13 /* targetPath */
        start local 13 // java.lang.String targetPath
        64: .line 146
            aload 9 /* targetAttrs */
            ifnull 78
        65: .line 148
            aload 9 /* targetAttrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
            ifne 66
            aload 9 /* targetAttrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectoryLink:()Z
            ifeq 68
        66: .line 149
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 13 /* targetPath */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.RemoveDirectory:(Ljava/lang/String;)V
        67: .line 150
            goto 78
        68: .line 151
      StackMap locals:
      StackMap stack:
            aload 13 /* targetPath */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.DeleteFile:(Ljava/lang/String;)V
        69: .line 153
            goto 78
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
        70: astore 14 /* x */
        start local 14 // sun.nio.fs.WindowsException x
        71: .line 154
            aload 9 /* targetAttrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
            ifeq 77
        72: .line 157
            aload 14 /* x */
            invokevirtual sun.nio.fs.WindowsException.lastError:()I
            sipush 145
            if_icmpeq 74
        73: .line 158
            aload 14 /* x */
            invokevirtual sun.nio.fs.WindowsException.lastError:()I
            sipush 183
            if_icmpne 77
        74: .line 160
      StackMap locals: sun.nio.fs.WindowsException
      StackMap stack:
            new java.nio.file.DirectoryNotEmptyException
            dup
        75: .line 161
            aload 1 /* target */
            invokevirtual sun.nio.fs.WindowsPath.getPathForExceptionMessage:()Ljava/lang/String;
        76: .line 160
            invokespecial java.nio.file.DirectoryNotEmptyException.<init>:(Ljava/lang/String;)V
            athrow
        77: .line 164
      StackMap locals:
      StackMap stack:
            aload 14 /* x */
            aload 1 /* target */
            invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
        end local 14 // sun.nio.fs.WindowsException x
        78: .line 169
      StackMap locals:
      StackMap stack:
            aload 8 /* sourceAttrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
            ifne 100
            aload 8 /* sourceAttrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectoryLink:()Z
            ifne 100
        79: .line 170
            iload 5 /* followLinks */
            ifne 80
            sipush 2048
            goto 81
      StackMap locals:
      StackMap stack:
        80: iconst_0
      StackMap locals:
      StackMap stack: int
        81: istore 14 /* flags */
        start local 14 // int flags
        82: .line 172
            iload 6 /* interruptible */
            ifeq 91
        83: .line 174
            new sun.nio.fs.WindowsFileCopy$1
            dup
            aload 12 /* sourcePath */
            aload 13 /* targetPath */
            iload 14 /* flags */
            aload 0 /* source */
            aload 1 /* target */
            invokespecial sun.nio.fs.WindowsFileCopy$1.<init>:(Ljava/lang/String;Ljava/lang/String;ILsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;)V
            astore 15 /* copyTask */
        start local 15 // sun.nio.fs.Cancellable copyTask
        84: .line 190
            aload 15 /* copyTask */
            invokestatic sun.nio.fs.Cancellable.runInterruptibly:(Lsun/nio/fs/Cancellable;)V
        85: .line 191
            goto 95
      StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int int int java.lang.SecurityManager sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsFileAttributes long java.lang.String java.lang.String int sun.nio.fs.Cancellable
      StackMap stack: java.util.concurrent.ExecutionException
        86: astore 16 /* e */
        start local 16 // java.util.concurrent.ExecutionException e
        87: .line 192
            aload 16 /* e */
            invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
            astore 17 /* t */
        start local 17 // java.lang.Throwable t
        88: .line 193
            aload 17 /* t */
            instanceof java.io.IOException
            ifeq 90
        89: .line 194
            aload 17 /* t */
            checkcast java.io.IOException
            athrow
        90: .line 195
      StackMap locals: java.util.concurrent.ExecutionException java.lang.Throwable
      StackMap stack:
            new java.io.IOException
            dup
            aload 17 /* t */
            invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 17 // java.lang.Throwable t
        end local 16 // java.util.concurrent.ExecutionException e
        end local 15 // sun.nio.fs.Cancellable copyTask
        91: .line 200
      StackMap locals:
      StackMap stack:
            aload 12 /* sourcePath */
            aload 13 /* targetPath */
            iload 14 /* flags */
            lconst_0
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CopyFileEx:(Ljava/lang/String;Ljava/lang/String;IJ)V
        92: .line 201
            goto 95
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
        93: astore 15 /* x */
        start local 15 // sun.nio.fs.WindowsException x
        94: .line 202
            aload 15 /* x */
            aload 0 /* source */
            aload 1 /* target */
            invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;)V
        end local 15 // sun.nio.fs.WindowsException x
        95: .line 205
      StackMap locals:
      StackMap stack:
            iload 4 /* copyAttributes */
            ifeq 99
        96: .line 208
            aload 0 /* source */
            aload 1 /* target */
            iload 5 /* followLinks */
            invokestatic sun.nio.fs.WindowsFileCopy.copySecurityAttributes:(Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;Z)V
        97: .line 209
            goto 99
      StackMap locals:
      StackMap stack: java.io.IOException
        98: pop
        99: .line 213
      StackMap locals:
      StackMap stack:
            return
        end local 14 // int flags
       100: .line 218
      StackMap locals:
      StackMap stack:
            aload 8 /* sourceAttrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
            ifeq 103
       101: .line 219
            aload 13 /* targetPath */
            lconst_0
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CreateDirectory:(Ljava/lang/String;J)V
       102: .line 220
            goto 112
       103: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            invokestatic sun.nio.fs.WindowsLinkSupport.readLink:(Lsun/nio/fs/WindowsPath;)Ljava/lang/String;
            astore 14 /* linkTarget */
        start local 14 // java.lang.String linkTarget
       104: .line 222
            iconst_1
            istore 15 /* flags */
        start local 15 // int flags
       105: .line 223
            aload 13 /* targetPath */
       106: .line 224
            aload 14 /* linkTarget */
            invokestatic sun.nio.fs.WindowsPath.addPrefixIfNeeded:(Ljava/lang/String;)Ljava/lang/String;
       107: .line 225
            iload 15 /* flags */
       108: .line 223
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CreateSymbolicLink:(Ljava/lang/String;Ljava/lang/String;I)V
        end local 15 // int flags
        end local 14 // java.lang.String linkTarget
       109: .line 227
            goto 112
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
       110: astore 14 /* x */
        start local 14 // sun.nio.fs.WindowsException x
       111: .line 228
            aload 14 /* x */
            aload 1 /* target */
            invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
        end local 14 // sun.nio.fs.WindowsException x
       112: .line 230
      StackMap locals:
      StackMap stack:
            iload 4 /* copyAttributes */
            ifeq 125
       113: .line 233
            aload 1 /* target */
            iconst_0
            invokestatic sun.nio.fs.WindowsFileAttributeViews.createDosView:(Lsun/nio/fs/WindowsPath;Z)Lsun/nio/fs/WindowsFileAttributeViews$Dos;
       114: .line 232
            astore 14 /* view */
        start local 14 // sun.nio.fs.WindowsFileAttributeViews$Dos view
       115: .line 235
            aload 14 /* view */
            aload 8 /* sourceAttrs */
            invokevirtual sun.nio.fs.WindowsFileAttributeViews$Dos.setAttributes:(Lsun/nio/fs/WindowsFileAttributes;)V
       116: .line 236
            goto 122
      StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int int int java.lang.SecurityManager sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsFileAttributes long java.lang.String java.lang.String sun.nio.fs.WindowsFileAttributeViews$Dos
      StackMap stack: java.io.IOException
       117: pop
       118: .line 237
            aload 8 /* sourceAttrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
            ifeq 122
       119: .line 239
            aload 13 /* targetPath */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.RemoveDirectory:(Ljava/lang/String;)V
       120: .line 240
            goto 122
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
       121: pop
       122: .line 247
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            aload 1 /* target */
            iload 5 /* followLinks */
            invokestatic sun.nio.fs.WindowsFileCopy.copySecurityAttributes:(Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;Z)V
       123: .line 248
            goto 125
      StackMap locals:
      StackMap stack: java.io.IOException
       124: pop
        end local 14 // sun.nio.fs.WindowsFileAttributeViews$Dos view
       125: .line 250
      StackMap locals:
      StackMap stack:
            return
        end local 13 // java.lang.String targetPath
        end local 12 // java.lang.String sourcePath
        end local 10 // long sourceHandle
        end local 9 // sun.nio.fs.WindowsFileAttributes targetAttrs
        end local 8 // sun.nio.fs.WindowsFileAttributes sourceAttrs
        end local 7 // java.lang.SecurityManager sm
        end local 6 // boolean interruptible
        end local 5 // boolean followLinks
        end local 4 // boolean copyAttributes
        end local 3 // boolean replaceExisting
        end local 2 // java.nio.file.CopyOption[] options
        end local 1 // sun.nio.fs.WindowsPath target
        end local 0 // sun.nio.fs.WindowsPath source
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  126     0           source  Lsun/nio/fs/WindowsPath;
            0  126     1           target  Lsun/nio/fs/WindowsPath;
            0  126     2          options  [Ljava/nio/file/CopyOption;
            1  126     3  replaceExisting  Z
            2  126     4   copyAttributes  Z
            3  126     5      followLinks  Z
            4  126     6    interruptible  Z
            6   21     7           option  Ljava/nio/file/CopyOption;
           24  126     7               sm  Ljava/lang/SecurityManager;
           28  126     8      sourceAttrs  Lsun/nio/fs/WindowsFileAttributes;
           29  126     9      targetAttrs  Lsun/nio/fs/WindowsFileAttributes;
           30  126    10     sourceHandle  J
           33   34    12                x  Lsun/nio/fs/WindowsException;
           37   38    12                x  Lsun/nio/fs/WindowsException;
           39   55    12     targetHandle  J
           63  126    12       sourcePath  Ljava/lang/String;
           64  126    13       targetPath  Ljava/lang/String;
           71   78    14                x  Lsun/nio/fs/WindowsException;
           82  100    14            flags  I
           84   91    15         copyTask  Lsun/nio/fs/Cancellable;
           87   91    16                e  Ljava/util/concurrent/ExecutionException;
           88   91    17                t  Ljava/lang/Throwable;
           94   95    15                x  Lsun/nio/fs/WindowsException;
          104  109    14       linkTarget  Ljava/lang/String;
          105  109    15            flags  I
          111  112    14                x  Lsun/nio/fs/WindowsException;
          115  125    14             view  Lsun/nio/fs/WindowsFileAttributeViews$Dos;
      Exception table:
        from    to  target  type
          30    31      32  Class sun.nio.fs.WindowsException
          34    35      36  Class sun.nio.fs.WindowsException
          40    42      49  any
          45    49      49  any
          39    43      54  Class sun.nio.fs.WindowsException
          45    53      54  Class sun.nio.fs.WindowsException
          34    43      56  any
          45    56      56  any
          65    69      70  Class sun.nio.fs.WindowsException
          84    85      86  Class java.util.concurrent.ExecutionException
          91    92      93  Class sun.nio.fs.WindowsException
          96    97      98  Class java.io.IOException
         100   109     110  Class sun.nio.fs.WindowsException
         115   116     117  Class java.io.IOException
         119   120     121  Class sun.nio.fs.WindowsException
         122   123     124  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      source   final
      target   final
      options  

  static void ensureEmptyDir(sun.nio.fs.WindowsPath);
    descriptor: (Lsun/nio/fs/WindowsPath;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // sun.nio.fs.WindowsPath dir
         0: .line 254
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: .line 255
            new sun.nio.fs.WindowsDirectoryStream
            dup
            aload 0 /* dir */
            invokedynamic accept()Ljava/nio/file/DirectoryStream$Filter;
              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
                  sun/nio/fs/WindowsFileCopy.lambda$0(Ljava/nio/file/Path;)Z (6)
                  (Ljava/nio/file/Path;)Z
            invokespecial sun.nio.fs.WindowsDirectoryStream.<init>:(Lsun/nio/fs/WindowsPath;Ljava/nio/file/DirectoryStream$Filter;)V
         2: .line 254
            astore 3 /* dirStream */
        start local 3 // sun.nio.fs.WindowsDirectoryStream dirStream
         3: .line 256
            aload 3 /* dirStream */
            invokevirtual sun.nio.fs.WindowsDirectoryStream.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 7
         4: .line 257
            new java.nio.file.DirectoryNotEmptyException
            dup
         5: .line 258
            aload 0 /* dir */
            invokevirtual sun.nio.fs.WindowsPath.getPathForExceptionMessage:()Ljava/lang/String;
         6: .line 257
            invokespecial java.nio.file.DirectoryNotEmptyException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 260
      StackMap locals: java.lang.Throwable java.lang.Throwable sun.nio.fs.WindowsDirectoryStream
      StackMap stack:
            aload 3 /* dirStream */
            ifnull 13
            aload 3 /* dirStream */
            invokevirtual sun.nio.fs.WindowsDirectoryStream.close:()V
            goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 1
            aload 3 /* dirStream */
            ifnull 9
            aload 3 /* dirStream */
            invokevirtual sun.nio.fs.WindowsDirectoryStream.close:()V
        end local 3 // sun.nio.fs.WindowsDirectoryStream dirStream
      StackMap locals:
      StackMap stack:
         9: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 2
            aload 1
            ifnonnull 11
            aload 2
            astore 1
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 1
            aload 2
            if_acmpeq 12
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 1
            athrow
        13: .line 261
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.nio.fs.WindowsPath dir
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0        dir  Lsun/nio/fs/WindowsPath;
            3    9     3  dirStream  Lsun/nio/fs/WindowsDirectoryStream;
      Exception table:
        from    to  target  type
           3     7       8  any
           1    10      10  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      dir   

  static void move(sun.nio.fs.WindowsPath, sun.nio.fs.WindowsPath, java.nio.file.CopyOption[]);
    descriptor: (Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;[Ljava/nio/file/CopyOption;)V
    flags: (0x0088) ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=16, args_size=3
        start local 0 // sun.nio.fs.WindowsPath source
        start local 1 // sun.nio.fs.WindowsPath target
        start local 2 // java.nio.file.CopyOption[] options
         0: .line 270
            iconst_0
            istore 3 /* atomicMove */
        start local 3 // boolean atomicMove
         1: .line 271
            iconst_0
            istore 4 /* replaceExisting */
        start local 4 // boolean replaceExisting
         2: .line 272
            aload 2 /* options */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 15
      StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int top int int java.nio.file.CopyOption[]
      StackMap stack:
         3: aload 8
            iload 6
            aaload
            astore 5 /* option */
        start local 5 // java.nio.file.CopyOption option
         4: .line 273
            aload 5 /* option */
            getstatic java.nio.file.StandardCopyOption.ATOMIC_MOVE:Ljava/nio/file/StandardCopyOption;
            if_acmpne 7
         5: .line 274
            iconst_1
            istore 3 /* atomicMove */
         6: .line 275
            goto 14
         7: .line 277
      StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int java.nio.file.CopyOption int int java.nio.file.CopyOption[]
      StackMap stack:
            aload 5 /* option */
            getstatic java.nio.file.StandardCopyOption.REPLACE_EXISTING:Ljava/nio/file/StandardCopyOption;
            if_acmpne 10
         8: .line 278
            iconst_1
            istore 4 /* replaceExisting */
         9: .line 279
            goto 14
        10: .line 281
      StackMap locals:
      StackMap stack:
            aload 5 /* option */
            getstatic java.nio.file.LinkOption.NOFOLLOW_LINKS:Ljava/nio/file/LinkOption;
            if_acmpne 12
        11: .line 283
            goto 14
        12: .line 285
      StackMap locals:
      StackMap stack:
            aload 5 /* option */
            ifnonnull 13
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
        13: .line 286
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            ldc "Unsupported copy option"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.nio.file.CopyOption option
        14: .line 272
      StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int top int int java.nio.file.CopyOption[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        15: iload 6
            iload 7
            if_icmplt 3
        16: .line 289
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 5 /* sm */
        start local 5 // java.lang.SecurityManager sm
        17: .line 290
            aload 5 /* sm */
            ifnull 20
        18: .line 291
            aload 0 /* source */
            invokevirtual sun.nio.fs.WindowsPath.checkWrite:()V
        19: .line 292
            aload 1 /* target */
            invokevirtual sun.nio.fs.WindowsPath.checkWrite:()V
        20: .line 295
      StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int java.lang.SecurityManager
      StackMap stack:
            aload 0 /* source */
            invokestatic sun.nio.fs.WindowsFileCopy.asWin32Path:(Lsun/nio/fs/WindowsPath;)Ljava/lang/String;
            astore 6 /* sourcePath */
        start local 6 // java.lang.String sourcePath
        21: .line 296
            aload 1 /* target */
            invokestatic sun.nio.fs.WindowsFileCopy.asWin32Path:(Lsun/nio/fs/WindowsPath;)Ljava/lang/String;
            astore 7 /* targetPath */
        start local 7 // java.lang.String targetPath
        22: .line 299
            iload 3 /* atomicMove */
            ifeq 34
        23: .line 301
            aload 6 /* sourcePath */
            aload 7 /* targetPath */
            iconst_1
            invokestatic sun.nio.fs.WindowsNativeDispatcher.MoveFileEx:(Ljava/lang/String;Ljava/lang/String;I)V
        24: .line 302
            goto 33
      StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int java.lang.SecurityManager java.lang.String java.lang.String
      StackMap stack: sun.nio.fs.WindowsException
        25: astore 8 /* x */
        start local 8 // sun.nio.fs.WindowsException x
        26: .line 303
            aload 8 /* x */
            invokevirtual sun.nio.fs.WindowsException.lastError:()I
            bipush 17
            if_icmpne 32
        27: .line 304
            new java.nio.file.AtomicMoveNotSupportedException
            dup
        28: .line 305
            aload 0 /* source */
            invokevirtual sun.nio.fs.WindowsPath.getPathForExceptionMessage:()Ljava/lang/String;
        29: .line 306
            aload 1 /* target */
            invokevirtual sun.nio.fs.WindowsPath.getPathForExceptionMessage:()Ljava/lang/String;
        30: .line 307
            aload 8 /* x */
            invokevirtual sun.nio.fs.WindowsException.errorString:()Ljava/lang/String;
        31: .line 304
            invokespecial java.nio.file.AtomicMoveNotSupportedException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            athrow
        32: .line 309
      StackMap locals: sun.nio.fs.WindowsException
      StackMap stack:
            aload 8 /* x */
            aload 0 /* source */
            aload 1 /* target */
            invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;)V
        end local 8 // sun.nio.fs.WindowsException x
        33: .line 311
      StackMap locals:
      StackMap stack:
            return
        34: .line 319
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8 /* sourceAttrs */
        start local 8 // sun.nio.fs.WindowsFileAttributes sourceAttrs
        35: .line 320
            aconst_null
            astore 9 /* targetAttrs */
        start local 9 // sun.nio.fs.WindowsFileAttributes targetAttrs
        36: .line 322
            lconst_0
            lstore 10 /* sourceHandle */
        start local 10 // long sourceHandle
        37: .line 324
            aload 0 /* source */
            iconst_0
            invokevirtual sun.nio.fs.WindowsPath.openForReadAttributeAccess:(Z)J
            lstore 10 /* sourceHandle */
        38: .line 325
            goto 41
      StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int java.lang.SecurityManager java.lang.String java.lang.String sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsFileAttributes long
      StackMap stack: sun.nio.fs.WindowsException
        39: astore 12 /* x */
        start local 12 // sun.nio.fs.WindowsException x
        40: .line 326
            aload 12 /* x */
            aload 0 /* source */
            invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
        end local 12 // sun.nio.fs.WindowsException x
        41: .line 331
      StackMap locals:
      StackMap stack:
            lload 10 /* sourceHandle */
            invokestatic sun.nio.fs.WindowsFileAttributes.readAttributes:(J)Lsun/nio/fs/WindowsFileAttributes;
            astore 8 /* sourceAttrs */
        42: .line 332
            goto 45
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
        43: astore 12 /* x */
        start local 12 // sun.nio.fs.WindowsException x
        44: .line 333
            aload 12 /* x */
            aload 0 /* source */
            invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
        end local 12 // sun.nio.fs.WindowsException x
        45: .line 337
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 12 /* targetHandle */
        start local 12 // long targetHandle
        46: .line 339
            aload 1 /* target */
            iconst_0
            invokevirtual sun.nio.fs.WindowsPath.openForReadAttributeAccess:(Z)J
            lstore 12 /* targetHandle */
        47: .line 341
            lload 12 /* targetHandle */
            invokestatic sun.nio.fs.WindowsFileAttributes.readAttributes:(J)Lsun/nio/fs/WindowsFileAttributes;
            astore 9 /* targetAttrs */
        48: .line 344
            aload 8 /* sourceAttrs */
            aload 9 /* targetAttrs */
            invokestatic sun.nio.fs.WindowsFileAttributes.isSameFile:(Lsun/nio/fs/WindowsFileAttributes;Lsun/nio/fs/WindowsFileAttributes;)Z
            ifeq 52
        49: .line 355
            lload 12 /* targetHandle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        50: .line 362
            lload 10 /* sourceHandle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        51: .line 345
            return
        52: .line 349
      StackMap locals: long
      StackMap stack:
            iload 4 /* replaceExisting */
            ifne 59
        53: .line 350
            new java.nio.file.FileAlreadyExistsException
            dup
        54: .line 351
            aload 1 /* target */
            invokevirtual sun.nio.fs.WindowsPath.getPathForExceptionMessage:()Ljava/lang/String;
        55: .line 350
            invokespecial java.nio.file.FileAlreadyExistsException.<init>:(Ljava/lang/String;)V
            athrow
        56: .line 354
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 14
        57: .line 355
            lload 12 /* targetHandle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        58: .line 356
            aload 14
            athrow
        59: .line 355
      StackMap locals:
      StackMap stack:
            lload 12 /* targetHandle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        60: .line 357
            goto 66
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
        61: pop
        end local 12 // long targetHandle
        62: .line 361
            goto 66
      StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int java.lang.SecurityManager java.lang.String java.lang.String sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsFileAttributes long
      StackMap stack: java.lang.Throwable
        63: astore 15
        64: .line 362
            lload 10 /* sourceHandle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        65: .line 363
            aload 15
            athrow
        66: .line 362
      StackMap locals:
      StackMap stack:
            lload 10 /* sourceHandle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        67: .line 366
            aload 9 /* targetAttrs */
            ifnull 81
        68: .line 368
            aload 9 /* targetAttrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
            ifne 69
            aload 9 /* targetAttrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectoryLink:()Z
            ifeq 71
        69: .line 369
      StackMap locals:
      StackMap stack:
            aload 7 /* targetPath */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.RemoveDirectory:(Ljava/lang/String;)V
        70: .line 370
            goto 81
        71: .line 371
      StackMap locals:
      StackMap stack:
            aload 7 /* targetPath */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.DeleteFile:(Ljava/lang/String;)V
        72: .line 373
            goto 81
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
        73: astore 12 /* x */
        start local 12 // sun.nio.fs.WindowsException x
        74: .line 374
            aload 9 /* targetAttrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
            ifeq 80
        75: .line 377
            aload 12 /* x */
            invokevirtual sun.nio.fs.WindowsException.lastError:()I
            sipush 145
            if_icmpeq 77
        76: .line 378
            aload 12 /* x */
            invokevirtual sun.nio.fs.WindowsException.lastError:()I
            sipush 183
            if_icmpne 80
        77: .line 380
      StackMap locals: sun.nio.fs.WindowsException
      StackMap stack:
            new java.nio.file.DirectoryNotEmptyException
            dup
        78: .line 381
            aload 1 /* target */
            invokevirtual sun.nio.fs.WindowsPath.getPathForExceptionMessage:()Ljava/lang/String;
        79: .line 380
            invokespecial java.nio.file.DirectoryNotEmptyException.<init>:(Ljava/lang/String;)V
            athrow
        80: .line 384
      StackMap locals:
      StackMap stack:
            aload 12 /* x */
            aload 1 /* target */
            invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
        end local 12 // sun.nio.fs.WindowsException x
        81: .line 391
      StackMap locals:
      StackMap stack:
            aload 6 /* sourcePath */
            aload 7 /* targetPath */
            iconst_0
            invokestatic sun.nio.fs.WindowsNativeDispatcher.MoveFileEx:(Ljava/lang/String;Ljava/lang/String;I)V
        82: .line 392
            return
        83: .line 393
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
            astore 12 /* x */
        start local 12 // sun.nio.fs.WindowsException x
        84: .line 394
            aload 12 /* x */
            invokevirtual sun.nio.fs.WindowsException.lastError:()I
            bipush 17
            if_icmpeq 86
        85: .line 395
            aload 12 /* x */
            aload 0 /* source */
            aload 1 /* target */
            invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;)V
        end local 12 // sun.nio.fs.WindowsException x
        86: .line 399
      StackMap locals:
      StackMap stack:
            aload 8 /* sourceAttrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
            ifne 95
            aload 8 /* sourceAttrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectoryLink:()Z
            ifne 95
        87: .line 401
            aload 6 /* sourcePath */
            aload 7 /* targetPath */
            iconst_2
            invokestatic sun.nio.fs.WindowsNativeDispatcher.MoveFileEx:(Ljava/lang/String;Ljava/lang/String;I)V
        88: .line 402
            goto 91
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
        89: astore 12 /* x */
        start local 12 // sun.nio.fs.WindowsException x
        90: .line 403
            aload 12 /* x */
            aload 0 /* source */
            aload 1 /* target */
            invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;)V
        end local 12 // sun.nio.fs.WindowsException x
        91: .line 408
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            aload 1 /* target */
            iconst_0
            invokestatic sun.nio.fs.WindowsFileCopy.copySecurityAttributes:(Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;Z)V
        92: .line 409
            goto 94
      StackMap locals:
      StackMap stack: java.io.IOException
        93: pop
        94: .line 412
      StackMap locals:
      StackMap stack:
            return
        95: .line 416
      StackMap locals:
      StackMap stack:
            getstatic sun.nio.fs.WindowsFileCopy.$assertionsDisabled:Z
            ifne 96
            aload 8 /* sourceAttrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
            ifne 96
            aload 8 /* sourceAttrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectoryLink:()Z
            ifne 96
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        96: .line 420
      StackMap locals:
      StackMap stack:
            aload 8 /* sourceAttrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
            ifeq 100
        97: .line 421
            aload 0 /* source */
            invokestatic sun.nio.fs.WindowsFileCopy.ensureEmptyDir:(Lsun/nio/fs/WindowsPath;)V
        98: .line 422
            aload 7 /* targetPath */
            lconst_0
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CreateDirectory:(Ljava/lang/String;J)V
        99: .line 423
            goto 108
       100: .line 424
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            invokestatic sun.nio.fs.WindowsLinkSupport.readLink:(Lsun/nio/fs/WindowsPath;)Ljava/lang/String;
            astore 12 /* linkTarget */
        start local 12 // java.lang.String linkTarget
       101: .line 425
            aload 7 /* targetPath */
       102: .line 426
            aload 12 /* linkTarget */
            invokestatic sun.nio.fs.WindowsPath.addPrefixIfNeeded:(Ljava/lang/String;)Ljava/lang/String;
       103: .line 427
            iconst_1
       104: .line 425
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CreateSymbolicLink:(Ljava/lang/String;Ljava/lang/String;I)V
        end local 12 // java.lang.String linkTarget
       105: .line 429
            goto 108
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
       106: astore 12 /* x */
        start local 12 // sun.nio.fs.WindowsException x
       107: .line 430
            aload 12 /* x */
            aload 1 /* target */
            invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
        end local 12 // sun.nio.fs.WindowsException x
       108: .line 435
      StackMap locals:
      StackMap stack:
            aload 1 /* target */
            iconst_0
            invokestatic sun.nio.fs.WindowsFileAttributeViews.createDosView:(Lsun/nio/fs/WindowsPath;Z)Lsun/nio/fs/WindowsFileAttributeViews$Dos;
       109: .line 434
            astore 12 /* view */
        start local 12 // sun.nio.fs.WindowsFileAttributeViews$Dos view
       110: .line 437
            aload 12 /* view */
            aload 8 /* sourceAttrs */
            invokevirtual sun.nio.fs.WindowsFileAttributeViews$Dos.setAttributes:(Lsun/nio/fs/WindowsFileAttributes;)V
       111: .line 438
            goto 117
      StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int java.lang.SecurityManager java.lang.String java.lang.String sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsFileAttributes long sun.nio.fs.WindowsFileAttributeViews$Dos
      StackMap stack: java.io.IOException
       112: astore 13 /* x */
        start local 13 // java.io.IOException x
       113: .line 441
            aload 7 /* targetPath */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.RemoveDirectory:(Ljava/lang/String;)V
       114: .line 442
            goto 116
      StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int java.lang.SecurityManager java.lang.String java.lang.String sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsFileAttributes long sun.nio.fs.WindowsFileAttributeViews$Dos java.io.IOException
      StackMap stack: sun.nio.fs.WindowsException
       115: pop
       116: .line 443
      StackMap locals:
      StackMap stack:
            aload 13 /* x */
            athrow
        end local 13 // java.io.IOException x
       117: .line 449
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            aload 1 /* target */
            iconst_0
            invokestatic sun.nio.fs.WindowsFileCopy.copySecurityAttributes:(Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;Z)V
       118: .line 450
            goto 120
      StackMap locals:
      StackMap stack: java.io.IOException
       119: pop
       120: .line 454
      StackMap locals:
      StackMap stack:
            aload 6 /* sourcePath */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.RemoveDirectory:(Ljava/lang/String;)V
       121: .line 455
            goto 132
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
       122: astore 13 /* x */
        start local 13 // sun.nio.fs.WindowsException x
       123: .line 458
            aload 7 /* targetPath */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.RemoveDirectory:(Ljava/lang/String;)V
       124: .line 459
            goto 126
      StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath java.nio.file.CopyOption[] int int java.lang.SecurityManager java.lang.String java.lang.String sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsFileAttributes long sun.nio.fs.WindowsFileAttributeViews$Dos sun.nio.fs.WindowsException
      StackMap stack: sun.nio.fs.WindowsException
       125: pop
       126: .line 462
      StackMap locals:
      StackMap stack:
            aload 13 /* x */
            invokevirtual sun.nio.fs.WindowsException.lastError:()I
            sipush 145
            if_icmpeq 128
       127: .line 463
            aload 13 /* x */
            invokevirtual sun.nio.fs.WindowsException.lastError:()I
            sipush 183
            if_icmpne 131
       128: .line 465
      StackMap locals:
      StackMap stack:
            new java.nio.file.DirectoryNotEmptyException
            dup
       129: .line 466
            aload 1 /* target */
            invokevirtual sun.nio.fs.WindowsPath.getPathForExceptionMessage:()Ljava/lang/String;
       130: .line 465
            invokespecial java.nio.file.DirectoryNotEmptyException.<init>:(Ljava/lang/String;)V
            athrow
       131: .line 468
      StackMap locals:
      StackMap stack:
            aload 13 /* x */
            aload 0 /* source */
            invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
        end local 13 // sun.nio.fs.WindowsException x
       132: .line 470
      StackMap locals:
      StackMap stack:
            return
        end local 12 // sun.nio.fs.WindowsFileAttributeViews$Dos view
        end local 10 // long sourceHandle
        end local 9 // sun.nio.fs.WindowsFileAttributes targetAttrs
        end local 8 // sun.nio.fs.WindowsFileAttributes sourceAttrs
        end local 7 // java.lang.String targetPath
        end local 6 // java.lang.String sourcePath
        end local 5 // java.lang.SecurityManager sm
        end local 4 // boolean replaceExisting
        end local 3 // boolean atomicMove
        end local 2 // java.nio.file.CopyOption[] options
        end local 1 // sun.nio.fs.WindowsPath target
        end local 0 // sun.nio.fs.WindowsPath source
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  133     0           source  Lsun/nio/fs/WindowsPath;
            0  133     1           target  Lsun/nio/fs/WindowsPath;
            0  133     2          options  [Ljava/nio/file/CopyOption;
            1  133     3       atomicMove  Z
            2  133     4  replaceExisting  Z
            4   14     5           option  Ljava/nio/file/CopyOption;
           17  133     5               sm  Ljava/lang/SecurityManager;
           21  133     6       sourcePath  Ljava/lang/String;
           22  133     7       targetPath  Ljava/lang/String;
           26   33     8                x  Lsun/nio/fs/WindowsException;
           35  133     8      sourceAttrs  Lsun/nio/fs/WindowsFileAttributes;
           36  133     9      targetAttrs  Lsun/nio/fs/WindowsFileAttributes;
           37  133    10     sourceHandle  J
           40   41    12                x  Lsun/nio/fs/WindowsException;
           44   45    12                x  Lsun/nio/fs/WindowsException;
           46   62    12     targetHandle  J
           74   81    12                x  Lsun/nio/fs/WindowsException;
           84   86    12                x  Lsun/nio/fs/WindowsException;
           90   91    12                x  Lsun/nio/fs/WindowsException;
          101  105    12       linkTarget  Ljava/lang/String;
          107  108    12                x  Lsun/nio/fs/WindowsException;
          110  133    12             view  Lsun/nio/fs/WindowsFileAttributeViews$Dos;
          113  117    13                x  Ljava/io/IOException;
          123  132    13                x  Lsun/nio/fs/WindowsException;
      Exception table:
        from    to  target  type
          23    24      25  Class sun.nio.fs.WindowsException
          37    38      39  Class sun.nio.fs.WindowsException
          41    42      43  Class sun.nio.fs.WindowsException
          47    49      56  any
          52    56      56  any
          46    50      61  Class sun.nio.fs.WindowsException
          52    60      61  Class sun.nio.fs.WindowsException
          41    50      63  any
          52    63      63  any
          68    72      73  Class sun.nio.fs.WindowsException
          81    82      83  Class sun.nio.fs.WindowsException
          87    88      89  Class sun.nio.fs.WindowsException
          91    92      93  Class java.io.IOException
          96   105     106  Class sun.nio.fs.WindowsException
         110   111     112  Class java.io.IOException
         113   114     115  Class sun.nio.fs.WindowsException
         117   118     119  Class java.io.IOException
         120   121     122  Class sun.nio.fs.WindowsException
         123   124     125  Class sun.nio.fs.WindowsException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      source   
      target   
      options  

  private static java.lang.String asWin32Path(sun.nio.fs.WindowsPath);
    descriptor: (Lsun/nio/fs/WindowsPath;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.nio.fs.WindowsPath path
         0: .line 475
            aload 0 /* path */
            invokevirtual sun.nio.fs.WindowsPath.getPathForWin32Calls:()Ljava/lang/String;
         1: areturn
         2: .line 476
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
            astore 1 /* x */
        start local 1 // sun.nio.fs.WindowsException x
         3: .line 477
            aload 1 /* x */
            aload 0 /* path */
            invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
         4: .line 478
            aconst_null
            areturn
        end local 1 // sun.nio.fs.WindowsException x
        end local 0 // sun.nio.fs.WindowsPath path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  path  Lsun/nio/fs/WindowsPath;
            3    5     1     x  Lsun/nio/fs/WindowsException;
      Exception table:
        from    to  target  type
           0     1       2  Class sun.nio.fs.WindowsException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      path  

  private static void copySecurityAttributes(sun.nio.fs.WindowsPath, sun.nio.fs.WindowsPath, boolean);
    descriptor: (Lsun/nio/fs/WindowsPath;Lsun/nio/fs/WindowsPath;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // sun.nio.fs.WindowsPath source
        start local 1 // sun.nio.fs.WindowsPath target
        start local 2 // boolean followLinks
         0: .line 490
            aload 0 /* source */
            iload 2 /* followLinks */
            invokestatic sun.nio.fs.WindowsLinkSupport.getFinalPath:(Lsun/nio/fs/WindowsPath;Z)Ljava/lang/String;
            astore 3 /* path */
        start local 3 // java.lang.String path
         1: .line 494
            ldc "SeRestorePrivilege"
            invokestatic sun.nio.fs.WindowsSecurity.enablePrivilege:(Ljava/lang/String;)Lsun/nio/fs/WindowsSecurity$Privilege;
         2: .line 493
            astore 4 /* priv */
        start local 4 // sun.nio.fs.WindowsSecurity$Privilege priv
         3: .line 496
            bipush 7
            istore 5 /* request */
        start local 5 // int request
         4: .line 499
            aload 3 /* path */
            iload 5 /* request */
            invokestatic sun.nio.fs.WindowsAclFileAttributeView.getFileSecurity:(Ljava/lang/String;I)Lsun/nio/fs/NativeBuffer;
         5: .line 498
            astore 6 /* buffer */
        start local 6 // sun.nio.fs.NativeBuffer buffer
         6: .line 502
            aload 1 /* target */
            invokevirtual sun.nio.fs.WindowsPath.getPathForWin32Calls:()Ljava/lang/String;
            iload 5 /* request */
         7: .line 503
            aload 6 /* buffer */
            invokevirtual sun.nio.fs.NativeBuffer.address:()J
         8: .line 502
            invokestatic sun.nio.fs.WindowsNativeDispatcher.SetFileSecurity:(Ljava/lang/String;IJ)V
         9: .line 504
            goto 16
      StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath int java.lang.String sun.nio.fs.WindowsSecurity$Privilege int sun.nio.fs.NativeBuffer
      StackMap stack: sun.nio.fs.WindowsException
        10: astore 7 /* x */
        start local 7 // sun.nio.fs.WindowsException x
        11: .line 505
            aload 7 /* x */
            aload 1 /* target */
            invokevirtual sun.nio.fs.WindowsException.rethrowAsIOException:(Lsun/nio/fs/WindowsPath;)V
        end local 7 // sun.nio.fs.WindowsException x
        12: .line 507
            goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 8
        14: .line 508
            aload 6 /* buffer */
            invokevirtual sun.nio.fs.NativeBuffer.release:()V
        15: .line 509
            aload 8
            athrow
        16: .line 508
      StackMap locals:
      StackMap stack:
            aload 6 /* buffer */
            invokevirtual sun.nio.fs.NativeBuffer.release:()V
        end local 6 // sun.nio.fs.NativeBuffer buffer
        end local 5 // int request
        17: .line 510
            goto 21
      StackMap locals: sun.nio.fs.WindowsPath sun.nio.fs.WindowsPath int java.lang.String sun.nio.fs.WindowsSecurity$Privilege
      StackMap stack: java.lang.Throwable
        18: astore 9
        19: .line 511
            aload 4 /* priv */
            invokeinterface sun.nio.fs.WindowsSecurity$Privilege.drop:()V
        20: .line 512
            aload 9
            athrow
        21: .line 511
      StackMap locals:
      StackMap stack:
            aload 4 /* priv */
            invokeinterface sun.nio.fs.WindowsSecurity$Privilege.drop:()V
        22: .line 513
            return
        end local 4 // sun.nio.fs.WindowsSecurity$Privilege priv
        end local 3 // java.lang.String path
        end local 2 // boolean followLinks
        end local 1 // sun.nio.fs.WindowsPath target
        end local 0 // sun.nio.fs.WindowsPath source
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   23     0       source  Lsun/nio/fs/WindowsPath;
            0   23     1       target  Lsun/nio/fs/WindowsPath;
            0   23     2  followLinks  Z
            1   23     3         path  Ljava/lang/String;
            3   23     4         priv  Lsun/nio/fs/WindowsSecurity$Privilege;
            4   17     5      request  I
            6   17     6       buffer  Lsun/nio/fs/NativeBuffer;
           11   12     7            x  Lsun/nio/fs/WindowsException;
      Exception table:
        from    to  target  type
           6     9      10  Class sun.nio.fs.WindowsException
           6    13      13  any
           3    18      18  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      source       
      target       
      followLinks  

  private static boolean lambda$0(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.nio.file.Path e
         0: .line 255
            iconst_1
            ireturn
        end local 0 // java.nio.file.Path e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  Ljava/nio/file/Path;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "WindowsFileCopy.java"
NestMembers:
  sun.nio.fs.WindowsFileCopy$1
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Filter = java.nio.file.DirectoryStream$Filter of java.nio.file.DirectoryStream
  public final InternalOption = sun.nio.fs.ExtendedOptions$InternalOption of sun.nio.fs.ExtendedOptions
  Dos = sun.nio.fs.WindowsFileAttributeViews$Dos of sun.nio.fs.WindowsFileAttributeViews
  sun.nio.fs.WindowsFileCopy$1
  abstract Privilege = sun.nio.fs.WindowsSecurity$Privilege of sun.nio.fs.WindowsSecurity