class sun.nio.fs.UnixCopyFile
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.nio.fs.UnixCopyFile
  super_class: java.lang.Object
{
  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 614
            new sun.nio.fs.UnixCopyFile$1
            dup
            invokespecial sun.nio.fs.UnixCopyFile$1.<init>:()V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         1: .line 620
            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.UnixCopyFile this
         0: .line 50
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.nio.fs.UnixCopyFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/fs/UnixCopyFile;

  private static void copyDirectory(sun.nio.fs.UnixPath, sun.nio.fs.UnixFileAttributes, sun.nio.fs.UnixPath, sun.nio.fs.UnixCopyFile$Flags);
    descriptor: (Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // sun.nio.fs.UnixPath source
        start local 1 // sun.nio.fs.UnixFileAttributes attrs
        start local 2 // sun.nio.fs.UnixPath target
        start local 3 // sun.nio.fs.UnixCopyFile$Flags flags
         0: .line 139
            aload 2 /* target */
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.mode:()I
            invokestatic sun.nio.fs.UnixNativeDispatcher.mkdir:(Lsun/nio/fs/UnixPath;I)V
         1: .line 140
            goto 4
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
         2: astore 4 /* x */
        start local 4 // sun.nio.fs.UnixException x
         3: .line 141
            aload 4 /* x */
            aload 2 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 4 // sun.nio.fs.UnixException x
         4: .line 145
      StackMap locals:
      StackMap stack:
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyBasicAttributes:Z
            ifne 7
         5: .line 146
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyPosixAttributes:Z
            ifne 7
         6: .line 147
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyNonPosixAttributes:Z
            ifne 7
            return
         7: .line 151
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 4 /* dfd */
        start local 4 // int dfd
         8: .line 153
            aload 2 /* target */
            iconst_0
            iconst_0
            invokestatic sun.nio.fs.UnixNativeDispatcher.open:(Lsun/nio/fs/UnixPath;II)I
            istore 4 /* dfd */
         9: .line 154
            goto 16
      StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags int
      StackMap stack: sun.nio.fs.UnixException
        10: astore 5 /* x */
        start local 5 // sun.nio.fs.UnixException x
        11: .line 156
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyNonPosixAttributes:Z
            ifeq 16
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyNonPosix:Z
            ifeq 16
        12: .line 157
            aload 2 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
        13: goto 15
      StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags int sun.nio.fs.UnixException
      StackMap stack: sun.nio.fs.UnixException
        14: pop
        15: .line 158
      StackMap locals:
      StackMap stack:
            aload 5 /* x */
            aload 2 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 5 // sun.nio.fs.UnixException x
        16: .line 162
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* done */
        start local 5 // boolean done
        17: .line 165
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyPosixAttributes:Z
            ifeq 28
        18: .line 167
            iload 4 /* dfd */
            iflt 22
        19: .line 168
            iload 4 /* dfd */
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.uid:()I
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.gid:()I
            invokestatic sun.nio.fs.UnixNativeDispatcher.fchown:(III)V
        20: .line 169
            iload 4 /* dfd */
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.mode:()I
            invokestatic sun.nio.fs.UnixNativeDispatcher.fchmod:(II)V
        21: .line 170
            goto 28
        22: .line 171
      StackMap locals: int
      StackMap stack:
            aload 2 /* target */
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.uid:()I
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.gid:()I
            invokestatic sun.nio.fs.UnixNativeDispatcher.chown:(Lsun/nio/fs/UnixPath;II)V
        23: .line 172
            aload 2 /* target */
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.mode:()I
            invokestatic sun.nio.fs.UnixNativeDispatcher.chmod:(Lsun/nio/fs/UnixPath;I)V
        24: .line 174
            goto 28
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        25: astore 6 /* x */
        start local 6 // sun.nio.fs.UnixException x
        26: .line 176
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyPosix:Z
            ifeq 28
        27: .line 177
            aload 6 /* x */
            aload 2 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 6 // sun.nio.fs.UnixException x
        28: .line 181
      StackMap locals:
      StackMap stack:
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyNonPosixAttributes:Z
            ifeq 38
            iload 4 /* dfd */
            iflt 38
        29: .line 182
            iconst_m1
            istore 6 /* sfd */
        start local 6 // int sfd
        30: .line 184
            aload 0 /* source */
            iconst_0
            iconst_0
            invokestatic sun.nio.fs.UnixNativeDispatcher.open:(Lsun/nio/fs/UnixPath;II)I
            istore 6 /* sfd */
        31: .line 185
            goto 35
      StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags int int int
      StackMap stack: sun.nio.fs.UnixException
        32: astore 7 /* x */
        start local 7 // sun.nio.fs.UnixException x
        33: .line 186
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyNonPosix:Z
            ifeq 35
        34: .line 187
            aload 7 /* x */
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 7 // sun.nio.fs.UnixException x
        35: .line 189
      StackMap locals:
      StackMap stack:
            iload 6 /* sfd */
            iflt 38
        36: .line 190
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixPath.getFileSystem:()Lsun/nio/fs/UnixFileSystem;
            iload 6 /* sfd */
            iload 4 /* dfd */
            invokevirtual sun.nio.fs.UnixFileSystem.copyNonPosixAttributes:(II)V
        37: .line 191
            iload 6 /* sfd */
            invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
        end local 6 // int sfd
        38: .line 195
      StackMap locals:
      StackMap stack:
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyBasicAttributes:Z
            ifeq 53
        39: .line 197
            iload 4 /* dfd */
            iflt 45
            invokestatic sun.nio.fs.UnixNativeDispatcher.futimesSupported:()Z
            ifeq 45
        40: .line 198
            iload 4 /* dfd */
        41: .line 199
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.lastAccessTime:()Ljava/nio/file/attribute/FileTime;
            getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.nio.file.attribute.FileTime.to:(Ljava/util/concurrent/TimeUnit;)J
        42: .line 200
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.lastModifiedTime:()Ljava/nio/file/attribute/FileTime;
            getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.nio.file.attribute.FileTime.to:(Ljava/util/concurrent/TimeUnit;)J
        43: .line 198
            invokestatic sun.nio.fs.UnixNativeDispatcher.futimes:(IJJ)V
        44: .line 201
            goto 53
        45: .line 202
      StackMap locals:
      StackMap stack:
            aload 2 /* target */
        46: .line 203
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.lastAccessTime:()Ljava/nio/file/attribute/FileTime;
            getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.nio.file.attribute.FileTime.to:(Ljava/util/concurrent/TimeUnit;)J
        47: .line 204
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.lastModifiedTime:()Ljava/nio/file/attribute/FileTime;
            getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.nio.file.attribute.FileTime.to:(Ljava/util/concurrent/TimeUnit;)J
        48: .line 202
            invokestatic sun.nio.fs.UnixNativeDispatcher.utimes:(Lsun/nio/fs/UnixPath;JJ)V
        49: .line 206
            goto 53
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        50: astore 6 /* x */
        start local 6 // sun.nio.fs.UnixException x
        51: .line 208
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyBasic:Z
            ifeq 53
        52: .line 209
            aload 6 /* x */
            aload 2 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 6 // sun.nio.fs.UnixException x
        53: .line 212
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* done */
        54: .line 213
            goto 63
      StackMap locals:
      StackMap stack: java.lang.Throwable
        55: astore 8
        56: .line 214
            iload 4 /* dfd */
            iflt 58
        57: .line 215
            iload 4 /* dfd */
            invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
        58: .line 216
      StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags int int top top java.lang.Throwable
      StackMap stack:
            iload 5 /* done */
            ifne 62
        59: .line 218
            aload 2 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
        60: goto 62
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        61: pop
        62: .line 220
      StackMap locals:
      StackMap stack:
            aload 8
            athrow
        63: .line 214
      StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags int int
      StackMap stack:
            iload 4 /* dfd */
            iflt 65
        64: .line 215
            iload 4 /* dfd */
            invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
        65: .line 216
      StackMap locals:
      StackMap stack:
            iload 5 /* done */
            ifne 69
        66: .line 218
            aload 2 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
        67: goto 69
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        68: pop
        69: .line 221
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean done
        end local 4 // int dfd
        end local 3 // sun.nio.fs.UnixCopyFile$Flags flags
        end local 2 // sun.nio.fs.UnixPath target
        end local 1 // sun.nio.fs.UnixFileAttributes attrs
        end local 0 // sun.nio.fs.UnixPath source
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   70     0  source  Lsun/nio/fs/UnixPath;
            0   70     1   attrs  Lsun/nio/fs/UnixFileAttributes;
            0   70     2  target  Lsun/nio/fs/UnixPath;
            0   70     3   flags  Lsun/nio/fs/UnixCopyFile$Flags;
            3    4     4       x  Lsun/nio/fs/UnixException;
            8   70     4     dfd  I
           11   16     5       x  Lsun/nio/fs/UnixException;
           17   70     5    done  Z
           26   28     6       x  Lsun/nio/fs/UnixException;
           30   38     6     sfd  I
           33   35     7       x  Lsun/nio/fs/UnixException;
           51   53     6       x  Lsun/nio/fs/UnixException;
      Exception table:
        from    to  target  type
           0     1       2  Class sun.nio.fs.UnixException
           8     9      10  Class sun.nio.fs.UnixException
          12    13      14  Class sun.nio.fs.UnixException
          18    24      25  Class sun.nio.fs.UnixException
          30    31      32  Class sun.nio.fs.UnixException
          39    49      50  Class sun.nio.fs.UnixException
          17    55      55  any
          59    60      61  Class sun.nio.fs.UnixException
          66    67      68  Class sun.nio.fs.UnixException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      source  
      attrs   
      target  
      flags   

  private static void copyFile(sun.nio.fs.UnixPath, sun.nio.fs.UnixFileAttributes, sun.nio.fs.UnixPath, sun.nio.fs.UnixCopyFile$Flags, long);
    descriptor: (Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;J)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=12, args_size=5
        start local 0 // sun.nio.fs.UnixPath source
        start local 1 // sun.nio.fs.UnixFileAttributes attrs
        start local 2 // sun.nio.fs.UnixPath target
        start local 3 // sun.nio.fs.UnixCopyFile$Flags flags
        start local 4 // long addressToPollForCancel
         0: .line 231
            iconst_m1
            istore 6 /* fi */
        start local 6 // int fi
         1: .line 233
            aload 0 /* source */
            iconst_0
            iconst_0
            invokestatic sun.nio.fs.UnixNativeDispatcher.open:(Lsun/nio/fs/UnixPath;II)I
            istore 6 /* fi */
         2: .line 234
            goto 5
      StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags long int
      StackMap stack: sun.nio.fs.UnixException
         3: astore 7 /* x */
        start local 7 // sun.nio.fs.UnixException x
         4: .line 235
            aload 7 /* x */
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 7 // sun.nio.fs.UnixException x
         5: .line 240
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 7 /* fo */
        start local 7 // int fo
         6: .line 242
            aload 2 /* target */
         7: .line 243
            sipush 193
         8: .line 246
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.mode:()I
         9: .line 242
            invokestatic sun.nio.fs.UnixNativeDispatcher.open:(Lsun/nio/fs/UnixPath;II)I
            istore 7 /* fo */
        10: .line 247
            goto 13
      StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags long int int
      StackMap stack: sun.nio.fs.UnixException
        11: astore 8 /* x */
        start local 8 // sun.nio.fs.UnixException x
        12: .line 248
            aload 8 /* x */
            aload 2 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 8 // sun.nio.fs.UnixException x
        13: .line 252
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* complete */
        start local 8 // boolean complete
        14: .line 256
            iload 7 /* fo */
            iload 6 /* fi */
            lload 4 /* addressToPollForCancel */
            invokestatic sun.nio.fs.UnixCopyFile.transfer:(IIJ)V
        15: .line 257
            goto 18
      StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags long int int int
      StackMap stack: sun.nio.fs.UnixException
        16: astore 9 /* x */
        start local 9 // sun.nio.fs.UnixException x
        17: .line 258
            aload 9 /* x */
            aload 0 /* source */
            aload 2 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;)V
        end local 9 // sun.nio.fs.UnixException x
        18: .line 261
      StackMap locals:
      StackMap stack:
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyPosixAttributes:Z
            ifeq 25
        19: .line 263
            iload 7 /* fo */
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.uid:()I
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.gid:()I
            invokestatic sun.nio.fs.UnixNativeDispatcher.fchown:(III)V
        20: .line 264
            iload 7 /* fo */
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.mode:()I
            invokestatic sun.nio.fs.UnixNativeDispatcher.fchmod:(II)V
        21: .line 265
            goto 25
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        22: astore 9 /* x */
        start local 9 // sun.nio.fs.UnixException x
        23: .line 266
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyPosix:Z
            ifeq 25
        24: .line 267
            aload 9 /* x */
            aload 2 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 9 // sun.nio.fs.UnixException x
        25: .line 271
      StackMap locals:
      StackMap stack:
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyNonPosixAttributes:Z
            ifeq 27
        26: .line 272
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixPath.getFileSystem:()Lsun/nio/fs/UnixFileSystem;
            iload 6 /* fi */
            iload 7 /* fo */
            invokevirtual sun.nio.fs.UnixFileSystem.copyNonPosixAttributes:(II)V
        27: .line 275
      StackMap locals:
      StackMap stack:
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyBasicAttributes:Z
            ifeq 42
        28: .line 277
            invokestatic sun.nio.fs.UnixNativeDispatcher.futimesSupported:()Z
            ifeq 34
        29: .line 278
            iload 7 /* fo */
        30: .line 279
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.lastAccessTime:()Ljava/nio/file/attribute/FileTime;
            getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.nio.file.attribute.FileTime.to:(Ljava/util/concurrent/TimeUnit;)J
        31: .line 280
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.lastModifiedTime:()Ljava/nio/file/attribute/FileTime;
            getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.nio.file.attribute.FileTime.to:(Ljava/util/concurrent/TimeUnit;)J
        32: .line 278
            invokestatic sun.nio.fs.UnixNativeDispatcher.futimes:(IJJ)V
        33: .line 281
            goto 42
        34: .line 282
      StackMap locals:
      StackMap stack:
            aload 2 /* target */
        35: .line 283
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.lastAccessTime:()Ljava/nio/file/attribute/FileTime;
            getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.nio.file.attribute.FileTime.to:(Ljava/util/concurrent/TimeUnit;)J
        36: .line 284
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.lastModifiedTime:()Ljava/nio/file/attribute/FileTime;
            getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.nio.file.attribute.FileTime.to:(Ljava/util/concurrent/TimeUnit;)J
        37: .line 282
            invokestatic sun.nio.fs.UnixNativeDispatcher.utimes:(Lsun/nio/fs/UnixPath;JJ)V
        38: .line 286
            goto 42
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        39: astore 9 /* x */
        start local 9 // sun.nio.fs.UnixException x
        40: .line 287
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyBasic:Z
            ifeq 42
        41: .line 288
            aload 9 /* x */
            aload 2 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 9 // sun.nio.fs.UnixException x
        42: .line 291
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 8 /* complete */
        43: .line 292
            goto 51
      StackMap locals:
      StackMap stack: java.lang.Throwable
        44: astore 10
        45: .line 293
            iload 7 /* fo */
            invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
        46: .line 296
            iload 8 /* complete */
            ifne 50
        47: .line 298
            aload 2 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
        48: .line 299
            goto 50
      StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags long int int int top java.lang.Throwable
      StackMap stack: sun.nio.fs.UnixException
        49: pop
        50: .line 301
      StackMap locals:
      StackMap stack:
            aload 10
            athrow
        51: .line 293
      StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags long int int int
      StackMap stack:
            iload 7 /* fo */
            invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
        52: .line 296
            iload 8 /* complete */
            ifne 60
        53: .line 298
            aload 2 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
        54: .line 299
            goto 60
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        55: pop
        end local 8 // boolean complete
        end local 7 // int fo
        56: .line 302
            goto 60
      StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags long int
      StackMap stack: java.lang.Throwable
        57: astore 11
        58: .line 303
            iload 6 /* fi */
            invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
        59: .line 304
            aload 11
            athrow
        60: .line 303
      StackMap locals:
      StackMap stack:
            iload 6 /* fi */
            invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
        61: .line 305
            return
        end local 6 // int fi
        end local 4 // long addressToPollForCancel
        end local 3 // sun.nio.fs.UnixCopyFile$Flags flags
        end local 2 // sun.nio.fs.UnixPath target
        end local 1 // sun.nio.fs.UnixFileAttributes attrs
        end local 0 // sun.nio.fs.UnixPath source
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   62     0                  source  Lsun/nio/fs/UnixPath;
            0   62     1                   attrs  Lsun/nio/fs/UnixFileAttributes;
            0   62     2                  target  Lsun/nio/fs/UnixPath;
            0   62     3                   flags  Lsun/nio/fs/UnixCopyFile$Flags;
            0   62     4  addressToPollForCancel  J
            1   62     6                      fi  I
            4    5     7                       x  Lsun/nio/fs/UnixException;
            6   56     7                      fo  I
           12   13     8                       x  Lsun/nio/fs/UnixException;
           14   56     8                complete  Z
           17   18     9                       x  Lsun/nio/fs/UnixException;
           23   25     9                       x  Lsun/nio/fs/UnixException;
           40   42     9                       x  Lsun/nio/fs/UnixException;
      Exception table:
        from    to  target  type
           1     2       3  Class sun.nio.fs.UnixException
           6    10      11  Class sun.nio.fs.UnixException
          14    15      16  Class sun.nio.fs.UnixException
          19    21      22  Class sun.nio.fs.UnixException
          28    38      39  Class sun.nio.fs.UnixException
          14    44      44  any
          47    48      49  Class sun.nio.fs.UnixException
          53    54      55  Class sun.nio.fs.UnixException
           5    57      57  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                        Name  Flags
      source                  
      attrs                   
      target                  
      flags                   
      addressToPollForCancel  

  private static void copyLink(sun.nio.fs.UnixPath, sun.nio.fs.UnixFileAttributes, sun.nio.fs.UnixPath, sun.nio.fs.UnixCopyFile$Flags);
    descriptor: (Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // sun.nio.fs.UnixPath source
        start local 1 // sun.nio.fs.UnixFileAttributes attrs
        start local 2 // sun.nio.fs.UnixPath target
        start local 3 // sun.nio.fs.UnixCopyFile$Flags flags
         0: .line 314
            aconst_null
            astore 4 /* linktarget */
        start local 4 // byte[] linktarget
         1: .line 316
            aload 0 /* source */
            invokestatic sun.nio.fs.UnixNativeDispatcher.readlink:(Lsun/nio/fs/UnixPath;)[B
            astore 4 /* linktarget */
         2: .line 317
            goto 5
      StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags byte[]
      StackMap stack: sun.nio.fs.UnixException
         3: astore 5 /* x */
        start local 5 // sun.nio.fs.UnixException x
         4: .line 318
            aload 5 /* x */
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 5 // sun.nio.fs.UnixException x
         5: .line 321
      StackMap locals:
      StackMap stack:
            aload 4 /* linktarget */
            aload 2 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.symlink:([BLsun/nio/fs/UnixPath;)V
         6: .line 323
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyPosixAttributes:Z
            ifeq 13
         7: .line 325
            aload 2 /* target */
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.uid:()I
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.gid:()I
            invokestatic sun.nio.fs.UnixNativeDispatcher.lchown:(Lsun/nio/fs/UnixPath;II)V
         8: .line 326
            goto 13
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
         9: pop
        10: .line 330
            goto 13
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        11: astore 5 /* x */
        start local 5 // sun.nio.fs.UnixException x
        12: .line 331
            aload 5 /* x */
            aload 2 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 5 // sun.nio.fs.UnixException x
        13: .line 333
      StackMap locals:
      StackMap stack:
            return
        end local 4 // byte[] linktarget
        end local 3 // sun.nio.fs.UnixCopyFile$Flags flags
        end local 2 // sun.nio.fs.UnixPath target
        end local 1 // sun.nio.fs.UnixFileAttributes attrs
        end local 0 // sun.nio.fs.UnixPath source
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0      source  Lsun/nio/fs/UnixPath;
            0   14     1       attrs  Lsun/nio/fs/UnixFileAttributes;
            0   14     2      target  Lsun/nio/fs/UnixPath;
            0   14     3       flags  Lsun/nio/fs/UnixCopyFile$Flags;
            1   14     4  linktarget  [B
            4    5     5           x  Lsun/nio/fs/UnixException;
           12   13     5           x  Lsun/nio/fs/UnixException;
      Exception table:
        from    to  target  type
           1     2       3  Class sun.nio.fs.UnixException
           7     8       9  Class sun.nio.fs.UnixException
           5    10      11  Class sun.nio.fs.UnixException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      source  
      attrs   
      target  
      flags   

  private static void copySpecial(sun.nio.fs.UnixPath, sun.nio.fs.UnixFileAttributes, sun.nio.fs.UnixPath, sun.nio.fs.UnixCopyFile$Flags);
    descriptor: (Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // sun.nio.fs.UnixPath source
        start local 1 // sun.nio.fs.UnixFileAttributes attrs
        start local 2 // sun.nio.fs.UnixPath target
        start local 3 // sun.nio.fs.UnixCopyFile$Flags flags
         0: .line 343
            aload 2 /* target */
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.mode:()I
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.rdev:()J
            invokestatic sun.nio.fs.UnixNativeDispatcher.mknod:(Lsun/nio/fs/UnixPath;IJ)V
         1: .line 344
            goto 4
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
         2: astore 4 /* x */
        start local 4 // sun.nio.fs.UnixException x
         3: .line 345
            aload 4 /* x */
            aload 2 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 4 // sun.nio.fs.UnixException x
         4: .line 347
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* done */
        start local 4 // boolean done
         5: .line 349
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyPosixAttributes:Z
            ifeq 12
         6: .line 351
            aload 2 /* target */
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.uid:()I
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.gid:()I
            invokestatic sun.nio.fs.UnixNativeDispatcher.chown:(Lsun/nio/fs/UnixPath;II)V
         7: .line 352
            aload 2 /* target */
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.mode:()I
            invokestatic sun.nio.fs.UnixNativeDispatcher.chmod:(Lsun/nio/fs/UnixPath;I)V
         8: .line 353
            goto 12
      StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags int
      StackMap stack: sun.nio.fs.UnixException
         9: astore 5 /* x */
        start local 5 // sun.nio.fs.UnixException x
        10: .line 354
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyPosix:Z
            ifeq 12
        11: .line 355
            aload 5 /* x */
            aload 2 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 5 // sun.nio.fs.UnixException x
        12: .line 358
      StackMap locals:
      StackMap stack:
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyBasicAttributes:Z
            ifeq 21
        13: .line 360
            aload 2 /* target */
        14: .line 361
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.lastAccessTime:()Ljava/nio/file/attribute/FileTime;
            getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.nio.file.attribute.FileTime.to:(Ljava/util/concurrent/TimeUnit;)J
        15: .line 362
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.lastModifiedTime:()Ljava/nio/file/attribute/FileTime;
            getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.nio.file.attribute.FileTime.to:(Ljava/util/concurrent/TimeUnit;)J
        16: .line 360
            invokestatic sun.nio.fs.UnixNativeDispatcher.utimes:(Lsun/nio/fs/UnixPath;JJ)V
        17: .line 363
            goto 21
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        18: astore 5 /* x */
        start local 5 // sun.nio.fs.UnixException x
        19: .line 364
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyBasic:Z
            ifeq 21
        20: .line 365
            aload 5 /* x */
            aload 2 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 5 // sun.nio.fs.UnixException x
        21: .line 368
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* done */
        22: .line 369
            goto 29
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: astore 6
        24: .line 370
            iload 4 /* done */
            ifne 28
        25: .line 371
            aload 2 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
        26: goto 28
      StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags int top java.lang.Throwable
      StackMap stack: sun.nio.fs.UnixException
        27: pop
        28: .line 373
      StackMap locals:
      StackMap stack:
            aload 6
            athrow
        29: .line 370
      StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixPath sun.nio.fs.UnixCopyFile$Flags int
      StackMap stack:
            iload 4 /* done */
            ifne 33
        30: .line 371
            aload 2 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
        31: goto 33
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        32: pop
        33: .line 374
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean done
        end local 3 // sun.nio.fs.UnixCopyFile$Flags flags
        end local 2 // sun.nio.fs.UnixPath target
        end local 1 // sun.nio.fs.UnixFileAttributes attrs
        end local 0 // sun.nio.fs.UnixPath source
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   34     0  source  Lsun/nio/fs/UnixPath;
            0   34     1   attrs  Lsun/nio/fs/UnixFileAttributes;
            0   34     2  target  Lsun/nio/fs/UnixPath;
            0   34     3   flags  Lsun/nio/fs/UnixCopyFile$Flags;
            3    4     4       x  Lsun/nio/fs/UnixException;
            5   34     4    done  Z
           10   12     5       x  Lsun/nio/fs/UnixException;
           19   21     5       x  Lsun/nio/fs/UnixException;
      Exception table:
        from    to  target  type
           0     1       2  Class sun.nio.fs.UnixException
           6     8       9  Class sun.nio.fs.UnixException
          13    17      18  Class sun.nio.fs.UnixException
           5    23      23  any
          25    26      27  Class sun.nio.fs.UnixException
          30    31      32  Class sun.nio.fs.UnixException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      source  
      attrs   
      target  
      flags   

  static void move(sun.nio.fs.UnixPath, sun.nio.fs.UnixPath, java.nio.file.CopyOption[]);
    descriptor: (Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;[Ljava/nio/file/CopyOption;)V
    flags: (0x0088) ACC_STATIC, ACC_VARARGS
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // sun.nio.fs.UnixPath source
        start local 1 // sun.nio.fs.UnixPath target
        start local 2 // java.nio.file.CopyOption[] options
         0: .line 381
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* sm */
        start local 3 // java.lang.SecurityManager sm
         1: .line 382
            aload 3 /* sm */
            ifnull 4
         2: .line 383
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixPath.checkWrite:()V
         3: .line 384
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixPath.checkWrite:()V
         4: .line 388
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 2 /* options */
            invokestatic sun.nio.fs.UnixCopyFile$Flags.fromMoveOptions:([Ljava/nio/file/CopyOption;)Lsun/nio/fs/UnixCopyFile$Flags;
            astore 4 /* flags */
        start local 4 // sun.nio.fs.UnixCopyFile$Flags flags
         5: .line 391
            aload 4 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.atomicMove:Z
            ifeq 17
         6: .line 393
            aload 0 /* source */
            aload 1 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.rename:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;)V
         7: .line 394
            goto 16
      StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixPath java.nio.file.CopyOption[] java.lang.SecurityManager sun.nio.fs.UnixCopyFile$Flags
      StackMap stack: sun.nio.fs.UnixException
         8: astore 5 /* x */
        start local 5 // sun.nio.fs.UnixException x
         9: .line 395
            aload 5 /* x */
            invokevirtual sun.nio.fs.UnixException.errno:()I
            bipush 18
            if_icmpne 15
        10: .line 396
            new java.nio.file.AtomicMoveNotSupportedException
            dup
        11: .line 397
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
        12: .line 398
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
        13: .line 399
            aload 5 /* x */
            invokevirtual sun.nio.fs.UnixException.errorString:()Ljava/lang/String;
        14: .line 396
            invokespecial java.nio.file.AtomicMoveNotSupportedException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            athrow
        15: .line 401
      StackMap locals: sun.nio.fs.UnixException
      StackMap stack:
            aload 5 /* x */
            aload 0 /* source */
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;)V
        end local 5 // sun.nio.fs.UnixException x
        16: .line 403
      StackMap locals:
      StackMap stack:
            return
        17: .line 407
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* sourceAttrs */
        start local 5 // sun.nio.fs.UnixFileAttributes sourceAttrs
        18: .line 408
            aconst_null
            astore 6 /* targetAttrs */
        start local 6 // sun.nio.fs.UnixFileAttributes targetAttrs
        19: .line 412
            aload 0 /* source */
            iconst_0
            invokestatic sun.nio.fs.UnixFileAttributes.get:(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributes;
            astore 5 /* sourceAttrs */
        20: .line 413
            goto 23
      StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixPath java.nio.file.CopyOption[] java.lang.SecurityManager sun.nio.fs.UnixCopyFile$Flags sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixFileAttributes
      StackMap stack: sun.nio.fs.UnixException
        21: astore 7 /* x */
        start local 7 // sun.nio.fs.UnixException x
        22: .line 414
            aload 7 /* x */
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 7 // sun.nio.fs.UnixException x
        23: .line 419
      StackMap locals:
      StackMap stack:
            aload 1 /* target */
            iconst_0
            invokestatic sun.nio.fs.UnixFileAttributes.get:(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributes;
            astore 6 /* targetAttrs */
        24: .line 420
            goto 26
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        25: pop
        26: .line 423
      StackMap locals:
      StackMap stack:
            aload 6 /* targetAttrs */
            ifnull 27
            iconst_1
            goto 28
      StackMap locals:
      StackMap stack:
        27: iconst_0
      StackMap locals:
      StackMap stack: int
        28: istore 7 /* targetExists */
        start local 7 // boolean targetExists
        29: .line 429
            iload 7 /* targetExists */
            ifeq 48
        30: .line 430
            aload 5 /* sourceAttrs */
            aload 6 /* targetAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isSameFile:(Lsun/nio/fs/UnixFileAttributes;)Z
            ifeq 32
        31: .line 431
            return
        32: .line 432
      StackMap locals: int
      StackMap stack:
            aload 4 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.replaceExisting:Z
            ifne 36
        33: .line 433
            new java.nio.file.FileAlreadyExistsException
            dup
        34: .line 434
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
        35: .line 433
            invokespecial java.nio.file.FileAlreadyExistsException.<init>:(Ljava/lang/String;)V
            athrow
        36: .line 439
      StackMap locals:
      StackMap stack:
            aload 6 /* targetAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 39
        37: .line 440
            aload 1 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
        38: .line 441
            goto 48
        39: .line 442
      StackMap locals:
      StackMap stack:
            aload 1 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
        40: .line 444
            goto 48
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        41: astore 8 /* x */
        start local 8 // sun.nio.fs.UnixException x
        42: .line 446
            aload 6 /* targetAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 47
        43: .line 447
            aload 8 /* x */
            invokevirtual sun.nio.fs.UnixException.errno:()I
            bipush 17
            if_icmpeq 44
            aload 8 /* x */
            invokevirtual sun.nio.fs.UnixException.errno:()I
            bipush 39
            if_icmpne 47
        44: .line 449
      StackMap locals: sun.nio.fs.UnixException
      StackMap stack:
            new java.nio.file.DirectoryNotEmptyException
            dup
        45: .line 450
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
        46: .line 449
            invokespecial java.nio.file.DirectoryNotEmptyException.<init>:(Ljava/lang/String;)V
            athrow
        47: .line 452
      StackMap locals:
      StackMap stack:
            aload 8 /* x */
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 8 // sun.nio.fs.UnixException x
        48: .line 458
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            aload 1 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.rename:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;)V
        49: .line 459
            return
        50: .line 460
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
            astore 8 /* x */
        start local 8 // sun.nio.fs.UnixException x
        51: .line 461
            aload 8 /* x */
            invokevirtual sun.nio.fs.UnixException.errno:()I
            bipush 18
            if_icmpeq 53
            aload 8 /* x */
            invokevirtual sun.nio.fs.UnixException.errno:()I
            bipush 21
            if_icmpeq 53
        52: .line 462
            aload 8 /* x */
            aload 0 /* source */
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;)V
        end local 8 // sun.nio.fs.UnixException x
        53: .line 467
      StackMap locals:
      StackMap stack:
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 56
        54: .line 468
            aload 0 /* source */
            aload 5 /* sourceAttrs */
            aload 1 /* target */
            aload 4 /* flags */
            invokestatic sun.nio.fs.UnixCopyFile.copyDirectory:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;)V
        55: .line 469
            goto 63
        56: .line 470
      StackMap locals:
      StackMap stack:
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isSymbolicLink:()Z
            ifeq 59
        57: .line 471
            aload 0 /* source */
            aload 5 /* sourceAttrs */
            aload 1 /* target */
            aload 4 /* flags */
            invokestatic sun.nio.fs.UnixCopyFile.copyLink:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;)V
        58: .line 472
            goto 63
        59: .line 473
      StackMap locals:
      StackMap stack:
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDevice:()Z
            ifeq 62
        60: .line 474
            aload 0 /* source */
            aload 5 /* sourceAttrs */
            aload 1 /* target */
            aload 4 /* flags */
            invokestatic sun.nio.fs.UnixCopyFile.copySpecial:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;)V
        61: .line 475
            goto 63
        62: .line 476
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            aload 5 /* sourceAttrs */
            aload 1 /* target */
            aload 4 /* flags */
            lconst_0
            invokestatic sun.nio.fs.UnixCopyFile.copyFile:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;J)V
        63: .line 483
      StackMap locals:
      StackMap stack:
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 66
        64: .line 484
            aload 0 /* source */
            invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
        65: .line 485
            goto 81
        66: .line 486
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
        67: .line 488
            goto 81
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        68: astore 8 /* x */
        start local 8 // sun.nio.fs.UnixException x
        69: .line 492
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 72
        70: .line 493
            aload 1 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
        71: .line 494
            goto 75
        72: .line 495
      StackMap locals: sun.nio.fs.UnixException
      StackMap stack:
            aload 1 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
        73: .line 497
            goto 75
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        74: pop
        75: .line 499
      StackMap locals:
      StackMap stack:
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 80
        76: .line 500
            aload 8 /* x */
            invokevirtual sun.nio.fs.UnixException.errno:()I
            bipush 17
            if_icmpeq 77
            aload 8 /* x */
            invokevirtual sun.nio.fs.UnixException.errno:()I
            bipush 39
            if_icmpne 80
        77: .line 502
      StackMap locals:
      StackMap stack:
            new java.nio.file.DirectoryNotEmptyException
            dup
        78: .line 503
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
        79: .line 502
            invokespecial java.nio.file.DirectoryNotEmptyException.<init>:(Ljava/lang/String;)V
            athrow
        80: .line 505
      StackMap locals:
      StackMap stack:
            aload 8 /* x */
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 8 // sun.nio.fs.UnixException x
        81: .line 507
      StackMap locals:
      StackMap stack:
            return
        end local 7 // boolean targetExists
        end local 6 // sun.nio.fs.UnixFileAttributes targetAttrs
        end local 5 // sun.nio.fs.UnixFileAttributes sourceAttrs
        end local 4 // sun.nio.fs.UnixCopyFile$Flags flags
        end local 3 // java.lang.SecurityManager sm
        end local 2 // java.nio.file.CopyOption[] options
        end local 1 // sun.nio.fs.UnixPath target
        end local 0 // sun.nio.fs.UnixPath source
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   82     0        source  Lsun/nio/fs/UnixPath;
            0   82     1        target  Lsun/nio/fs/UnixPath;
            0   82     2       options  [Ljava/nio/file/CopyOption;
            1   82     3            sm  Ljava/lang/SecurityManager;
            5   82     4         flags  Lsun/nio/fs/UnixCopyFile$Flags;
            9   16     5             x  Lsun/nio/fs/UnixException;
           18   82     5   sourceAttrs  Lsun/nio/fs/UnixFileAttributes;
           19   82     6   targetAttrs  Lsun/nio/fs/UnixFileAttributes;
           22   23     7             x  Lsun/nio/fs/UnixException;
           29   82     7  targetExists  Z
           42   48     8             x  Lsun/nio/fs/UnixException;
           51   53     8             x  Lsun/nio/fs/UnixException;
           69   81     8             x  Lsun/nio/fs/UnixException;
      Exception table:
        from    to  target  type
           6     7       8  Class sun.nio.fs.UnixException
          19    20      21  Class sun.nio.fs.UnixException
          23    24      25  Class sun.nio.fs.UnixException
          36    40      41  Class sun.nio.fs.UnixException
          48    49      50  Class sun.nio.fs.UnixException
          63    67      68  Class sun.nio.fs.UnixException
          69    73      74  Class sun.nio.fs.UnixException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      source   
      target   
      options  

  static void copy(sun.nio.fs.UnixPath, sun.nio.fs.UnixPath, java.nio.file.CopyOption[]);
    descriptor: (Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;[Ljava/nio/file/CopyOption;)V
    flags: (0x0088) ACC_STATIC, ACC_VARARGS
    Code:
      stack=6, locals=12, args_size=3
        start local 0 // sun.nio.fs.UnixPath source
        start local 1 // sun.nio.fs.UnixPath target
        start local 2 // java.nio.file.CopyOption[] options
         0: .line 515
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* sm */
        start local 3 // java.lang.SecurityManager sm
         1: .line 516
            aload 3 /* sm */
            ifnull 4
         2: .line 517
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixPath.checkRead:()V
         3: .line 518
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixPath.checkWrite:()V
         4: .line 522
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 2 /* options */
            invokestatic sun.nio.fs.UnixCopyFile$Flags.fromCopyOptions:([Ljava/nio/file/CopyOption;)Lsun/nio/fs/UnixCopyFile$Flags;
            astore 4 /* flags */
        start local 4 // sun.nio.fs.UnixCopyFile$Flags flags
         5: .line 524
            aconst_null
            astore 5 /* sourceAttrs */
        start local 5 // sun.nio.fs.UnixFileAttributes sourceAttrs
         6: .line 525
            aconst_null
            astore 6 /* targetAttrs */
        start local 6 // sun.nio.fs.UnixFileAttributes targetAttrs
         7: .line 529
            aload 0 /* source */
            aload 4 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.followLinks:Z
            invokestatic sun.nio.fs.UnixFileAttributes.get:(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributes;
            astore 5 /* sourceAttrs */
         8: .line 530
            goto 11
      StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixPath java.nio.file.CopyOption[] java.lang.SecurityManager sun.nio.fs.UnixCopyFile$Flags sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixFileAttributes
      StackMap stack: sun.nio.fs.UnixException
         9: astore 7 /* x */
        start local 7 // sun.nio.fs.UnixException x
        10: .line 531
            aload 7 /* x */
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 7 // sun.nio.fs.UnixException x
        11: .line 535
      StackMap locals:
      StackMap stack:
            aload 3 /* sm */
            ifnull 13
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isSymbolicLink:()Z
            ifeq 13
        12: .line 536
            aload 3 /* 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
        13: .line 541
      StackMap locals:
      StackMap stack:
            aload 1 /* target */
            iconst_0
            invokestatic sun.nio.fs.UnixFileAttributes.get:(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributes;
            astore 6 /* targetAttrs */
        14: .line 542
            goto 16
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        15: pop
        16: .line 545
      StackMap locals:
      StackMap stack:
            aload 6 /* targetAttrs */
            ifnull 17
            iconst_1
            goto 18
      StackMap locals:
      StackMap stack:
        17: iconst_0
      StackMap locals:
      StackMap stack: int
        18: istore 7 /* targetExists */
        start local 7 // boolean targetExists
        19: .line 551
            iload 7 /* targetExists */
            ifeq 38
        20: .line 552
            aload 5 /* sourceAttrs */
            aload 6 /* targetAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isSameFile:(Lsun/nio/fs/UnixFileAttributes;)Z
            ifeq 22
        21: .line 553
            return
        22: .line 554
      StackMap locals: int
      StackMap stack:
            aload 4 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.replaceExisting:Z
            ifne 26
        23: .line 555
            new java.nio.file.FileAlreadyExistsException
            dup
        24: .line 556
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
        25: .line 555
            invokespecial java.nio.file.FileAlreadyExistsException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 558
      StackMap locals:
      StackMap stack:
            aload 6 /* targetAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 29
        27: .line 559
            aload 1 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
        28: .line 560
            goto 38
        29: .line 561
      StackMap locals:
      StackMap stack:
            aload 1 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
        30: .line 563
            goto 38
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        31: astore 8 /* x */
        start local 8 // sun.nio.fs.UnixException x
        32: .line 565
            aload 6 /* targetAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 37
        33: .line 566
            aload 8 /* x */
            invokevirtual sun.nio.fs.UnixException.errno:()I
            bipush 17
            if_icmpeq 34
            aload 8 /* x */
            invokevirtual sun.nio.fs.UnixException.errno:()I
            bipush 39
            if_icmpne 37
        34: .line 568
      StackMap locals: sun.nio.fs.UnixException
      StackMap stack:
            new java.nio.file.DirectoryNotEmptyException
            dup
        35: .line 569
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
        36: .line 568
            invokespecial java.nio.file.DirectoryNotEmptyException.<init>:(Ljava/lang/String;)V
            athrow
        37: .line 571
      StackMap locals:
      StackMap stack:
            aload 8 /* x */
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixException.rethrowAsIOException:(Lsun/nio/fs/UnixPath;)V
        end local 8 // sun.nio.fs.UnixException x
        38: .line 576
      StackMap locals:
      StackMap stack:
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 41
        39: .line 577
            aload 0 /* source */
            aload 5 /* sourceAttrs */
            aload 1 /* target */
            aload 4 /* flags */
            invokestatic sun.nio.fs.UnixCopyFile.copyDirectory:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;)V
        40: .line 578
            return
        41: .line 580
      StackMap locals:
      StackMap stack:
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isSymbolicLink:()Z
            ifeq 44
        42: .line 581
            aload 0 /* source */
            aload 5 /* sourceAttrs */
            aload 1 /* target */
            aload 4 /* flags */
            invokestatic sun.nio.fs.UnixCopyFile.copyLink:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;)V
        43: .line 582
            return
        44: .line 584
      StackMap locals:
      StackMap stack:
            aload 4 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.interruptible:Z
            ifne 47
        45: .line 586
            aload 0 /* source */
            aload 5 /* sourceAttrs */
            aload 1 /* target */
            aload 4 /* flags */
            lconst_0
            invokestatic sun.nio.fs.UnixCopyFile.copyFile:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;J)V
        46: .line 587
            return
        47: .line 591
      StackMap locals:
      StackMap stack:
            aload 5 /* sourceAttrs */
            astore 8 /* attrsToCopy */
        start local 8 // sun.nio.fs.UnixFileAttributes attrsToCopy
        48: .line 592
            new sun.nio.fs.UnixCopyFile$2
            dup
            aload 0 /* source */
            aload 8 /* attrsToCopy */
            aload 1 /* target */
            aload 4 /* flags */
            invokespecial sun.nio.fs.UnixCopyFile$2.<init>:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixCopyFile$Flags;)V
            astore 9 /* copyTask */
        start local 9 // sun.nio.fs.Cancellable copyTask
        49: .line 599
            aload 9 /* copyTask */
            invokestatic sun.nio.fs.Cancellable.runInterruptibly:(Lsun/nio/fs/Cancellable;)V
        50: .line 600
            goto 56
      StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.UnixPath java.nio.file.CopyOption[] java.lang.SecurityManager sun.nio.fs.UnixCopyFile$Flags sun.nio.fs.UnixFileAttributes sun.nio.fs.UnixFileAttributes int sun.nio.fs.UnixFileAttributes sun.nio.fs.Cancellable
      StackMap stack: java.util.concurrent.ExecutionException
        51: astore 10 /* e */
        start local 10 // java.util.concurrent.ExecutionException e
        52: .line 601
            aload 10 /* e */
            invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
            astore 11 /* t */
        start local 11 // java.lang.Throwable t
        53: .line 602
            aload 11 /* t */
            instanceof java.io.IOException
            ifeq 55
        54: .line 603
            aload 11 /* t */
            checkcast java.io.IOException
            athrow
        55: .line 604
      StackMap locals: java.util.concurrent.ExecutionException java.lang.Throwable
      StackMap stack:
            new java.io.IOException
            dup
            aload 11 /* t */
            invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 11 // java.lang.Throwable t
        end local 10 // java.util.concurrent.ExecutionException e
        56: .line 606
      StackMap locals:
      StackMap stack:
            return
        end local 9 // sun.nio.fs.Cancellable copyTask
        end local 8 // sun.nio.fs.UnixFileAttributes attrsToCopy
        end local 7 // boolean targetExists
        end local 6 // sun.nio.fs.UnixFileAttributes targetAttrs
        end local 5 // sun.nio.fs.UnixFileAttributes sourceAttrs
        end local 4 // sun.nio.fs.UnixCopyFile$Flags flags
        end local 3 // java.lang.SecurityManager sm
        end local 2 // java.nio.file.CopyOption[] options
        end local 1 // sun.nio.fs.UnixPath target
        end local 0 // sun.nio.fs.UnixPath source
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   57     0        source  Lsun/nio/fs/UnixPath;
            0   57     1        target  Lsun/nio/fs/UnixPath;
            0   57     2       options  [Ljava/nio/file/CopyOption;
            1   57     3            sm  Ljava/lang/SecurityManager;
            5   57     4         flags  Lsun/nio/fs/UnixCopyFile$Flags;
            6   57     5   sourceAttrs  Lsun/nio/fs/UnixFileAttributes;
            7   57     6   targetAttrs  Lsun/nio/fs/UnixFileAttributes;
           10   11     7             x  Lsun/nio/fs/UnixException;
           19   57     7  targetExists  Z
           32   38     8             x  Lsun/nio/fs/UnixException;
           48   57     8   attrsToCopy  Lsun/nio/fs/UnixFileAttributes;
           49   57     9      copyTask  Lsun/nio/fs/Cancellable;
           52   56    10             e  Ljava/util/concurrent/ExecutionException;
           53   56    11             t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           7     8       9  Class sun.nio.fs.UnixException
          13    14      15  Class sun.nio.fs.UnixException
          26    30      31  Class sun.nio.fs.UnixException
          49    50      51  Class java.util.concurrent.ExecutionException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      source   final
      target   final
      options  

  static native void transfer(int, int, long);
    descriptor: (IIJ)V
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws sun.nio.fs.UnixException
    MethodParameters:
                        Name  Flags
      dst                     
      src                     
      addressToPollForCancel  
}
SourceFile: "UnixCopyFile.java"
NestMembers:
  sun.nio.fs.UnixCopyFile$1  sun.nio.fs.UnixCopyFile$2  sun.nio.fs.UnixCopyFile$Flags
InnerClasses:
  sun.nio.fs.UnixCopyFile$1
  sun.nio.fs.UnixCopyFile$2
  private Flags = sun.nio.fs.UnixCopyFile$Flags of sun.nio.fs.UnixCopyFile