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 609
            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 615
            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 45
            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 134
            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 135
            goto 4
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
         2: astore 4 /* x */
        start local 4 // sun.nio.fs.UnixException x
         3: .line 136
            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 140
      StackMap locals:
      StackMap stack:
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyBasicAttributes:Z
            ifne 7
         5: .line 141
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyPosixAttributes:Z
            ifne 7
         6: .line 142
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyNonPosixAttributes:Z
            ifne 7
            return
         7: .line 146
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 4 /* dfd */
        start local 4 // int dfd
         8: .line 148
            aload 2 /* target */
            iconst_0
            iconst_0
            invokestatic sun.nio.fs.UnixNativeDispatcher.open:(Lsun/nio/fs/UnixPath;II)I
            istore 4 /* dfd */
         9: .line 149
            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 151
            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 152
            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 153
      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 157
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* done */
        start local 5 // boolean done
        17: .line 160
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyPosixAttributes:Z
            ifeq 28
        18: .line 162
            iload 4 /* dfd */
            iflt 22
        19: .line 163
            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 164
            iload 4 /* dfd */
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.mode:()I
            invokestatic sun.nio.fs.UnixNativeDispatcher.fchmod:(II)V
        21: .line 165
            goto 28
        22: .line 166
      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 167
            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 169
            goto 28
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        25: astore 6 /* x */
        start local 6 // sun.nio.fs.UnixException x
        26: .line 171
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyPosix:Z
            ifeq 28
        27: .line 172
            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 176
      StackMap locals:
      StackMap stack:
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyNonPosixAttributes:Z
            ifeq 38
            iload 4 /* dfd */
            iflt 38
        29: .line 177
            iconst_m1
            istore 6 /* sfd */
        start local 6 // int sfd
        30: .line 179
            aload 0 /* source */
            iconst_0
            iconst_0
            invokestatic sun.nio.fs.UnixNativeDispatcher.open:(Lsun/nio/fs/UnixPath;II)I
            istore 6 /* sfd */
        31: .line 180
            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 181
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyNonPosix:Z
            ifeq 35
        34: .line 182
            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 184
      StackMap locals:
      StackMap stack:
            iload 6 /* sfd */
            iflt 38
        36: .line 185
            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 186
            iload 6 /* sfd */
            invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
        end local 6 // int sfd
        38: .line 190
      StackMap locals:
      StackMap stack:
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyBasicAttributes:Z
            ifeq 53
        39: .line 192
            iload 4 /* dfd */
            iflt 45
            invokestatic sun.nio.fs.UnixNativeDispatcher.futimesSupported:()Z
            ifeq 45
        40: .line 193
            iload 4 /* dfd */
        41: .line 194
            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 195
            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 193
            invokestatic sun.nio.fs.UnixNativeDispatcher.futimes:(IJJ)V
        44: .line 196
            goto 53
        45: .line 197
      StackMap locals:
      StackMap stack:
            aload 2 /* target */
        46: .line 198
            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 199
            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 197
            invokestatic sun.nio.fs.UnixNativeDispatcher.utimes:(Lsun/nio/fs/UnixPath;JJ)V
        49: .line 201
            goto 53
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        50: astore 6 /* x */
        start local 6 // sun.nio.fs.UnixException x
        51: .line 203
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyBasic:Z
            ifeq 53
        52: .line 204
            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 207
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* done */
        54: .line 208
            goto 63
      StackMap locals:
      StackMap stack: java.lang.Throwable
        55: astore 8
        56: .line 209
            iload 4 /* dfd */
            iflt 58
        57: .line 210
            iload 4 /* dfd */
            invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
        58: .line 211
      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 213
            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 215
      StackMap locals:
      StackMap stack:
            aload 8
            athrow
        63: .line 209
      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 210
            iload 4 /* dfd */
            invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
        65: .line 211
      StackMap locals:
      StackMap stack:
            iload 5 /* done */
            ifne 69
        66: .line 213
            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 216
      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 226
            iconst_m1
            istore 6 /* fi */
        start local 6 // int fi
         1: .line 228
            aload 0 /* source */
            iconst_0
            iconst_0
            invokestatic sun.nio.fs.UnixNativeDispatcher.open:(Lsun/nio/fs/UnixPath;II)I
            istore 6 /* fi */
         2: .line 229
            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 230
            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 235
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 7 /* fo */
        start local 7 // int fo
         6: .line 237
            aload 2 /* target */
         7: .line 238
            sipush 193
         8: .line 241
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.mode:()I
         9: .line 237
            invokestatic sun.nio.fs.UnixNativeDispatcher.open:(Lsun/nio/fs/UnixPath;II)I
            istore 7 /* fo */
        10: .line 242
            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 243
            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 247
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* complete */
        start local 8 // boolean complete
        14: .line 251
            iload 7 /* fo */
            iload 6 /* fi */
            lload 4 /* addressToPollForCancel */
            invokestatic sun.nio.fs.UnixCopyFile.transfer:(IIJ)V
        15: .line 252
            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 253
            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 256
      StackMap locals:
      StackMap stack:
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyPosixAttributes:Z
            ifeq 25
        19: .line 258
            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 259
            iload 7 /* fo */
            aload 1 /* attrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.mode:()I
            invokestatic sun.nio.fs.UnixNativeDispatcher.fchmod:(II)V
        21: .line 260
            goto 25
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        22: astore 9 /* x */
        start local 9 // sun.nio.fs.UnixException x
        23: .line 261
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyPosix:Z
            ifeq 25
        24: .line 262
            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 266
      StackMap locals:
      StackMap stack:
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyNonPosixAttributes:Z
            ifeq 27
        26: .line 267
            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 270
      StackMap locals:
      StackMap stack:
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyBasicAttributes:Z
            ifeq 42
        28: .line 272
            invokestatic sun.nio.fs.UnixNativeDispatcher.futimesSupported:()Z
            ifeq 34
        29: .line 273
            iload 7 /* fo */
        30: .line 274
            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 275
            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 273
            invokestatic sun.nio.fs.UnixNativeDispatcher.futimes:(IJJ)V
        33: .line 276
            goto 42
        34: .line 277
      StackMap locals:
      StackMap stack:
            aload 2 /* target */
        35: .line 278
            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 279
            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 277
            invokestatic sun.nio.fs.UnixNativeDispatcher.utimes:(Lsun/nio/fs/UnixPath;JJ)V
        38: .line 281
            goto 42
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        39: astore 9 /* x */
        start local 9 // sun.nio.fs.UnixException x
        40: .line 282
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyBasic:Z
            ifeq 42
        41: .line 283
            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 286
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 8 /* complete */
        43: .line 287
            goto 51
      StackMap locals:
      StackMap stack: java.lang.Throwable
        44: astore 10
        45: .line 288
            iload 7 /* fo */
            invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
        46: .line 291
            iload 8 /* complete */
            ifne 50
        47: .line 293
            aload 2 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
        48: .line 294
            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 296
      StackMap locals:
      StackMap stack:
            aload 10
            athrow
        51: .line 288
      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 291
            iload 8 /* complete */
            ifne 60
        53: .line 293
            aload 2 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
        54: .line 294
            goto 60
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        55: pop
        end local 8 // boolean complete
        end local 7 // int fo
        56: .line 297
            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 298
            iload 6 /* fi */
            invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
        59: .line 299
            aload 11
            athrow
        60: .line 298
      StackMap locals:
      StackMap stack:
            iload 6 /* fi */
            invokestatic sun.nio.fs.UnixNativeDispatcher.close:(I)V
        61: .line 300
            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 309
            aconst_null
            astore 4 /* linktarget */
        start local 4 // byte[] linktarget
         1: .line 311
            aload 0 /* source */
            invokestatic sun.nio.fs.UnixNativeDispatcher.readlink:(Lsun/nio/fs/UnixPath;)[B
            astore 4 /* linktarget */
         2: .line 312
            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 313
            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 316
      StackMap locals:
      StackMap stack:
            aload 4 /* linktarget */
            aload 2 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.symlink:([BLsun/nio/fs/UnixPath;)V
         6: .line 318
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyPosixAttributes:Z
            ifeq 13
         7: .line 320
            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 321
            goto 13
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
         9: pop
        10: .line 325
            goto 13
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        11: astore 5 /* x */
        start local 5 // sun.nio.fs.UnixException x
        12: .line 326
            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 328
      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 338
            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 339
            goto 4
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
         2: astore 4 /* x */
        start local 4 // sun.nio.fs.UnixException x
         3: .line 340
            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 342
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* done */
        start local 4 // boolean done
         5: .line 344
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyPosixAttributes:Z
            ifeq 12
         6: .line 346
            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 347
            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 348
            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 349
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyPosix:Z
            ifeq 12
        11: .line 350
            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 353
      StackMap locals:
      StackMap stack:
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.copyBasicAttributes:Z
            ifeq 21
        13: .line 355
            aload 2 /* target */
        14: .line 356
            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 357
            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 355
            invokestatic sun.nio.fs.UnixNativeDispatcher.utimes:(Lsun/nio/fs/UnixPath;JJ)V
        17: .line 358
            goto 21
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        18: astore 5 /* x */
        start local 5 // sun.nio.fs.UnixException x
        19: .line 359
            aload 3 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.failIfUnableToCopyBasic:Z
            ifeq 21
        20: .line 360
            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 363
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* done */
        22: .line 364
            goto 29
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: astore 6
        24: .line 365
            iload 4 /* done */
            ifne 28
        25: .line 366
            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 368
      StackMap locals:
      StackMap stack:
            aload 6
            athrow
        29: .line 365
      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 366
            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 369
      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 376
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* sm */
        start local 3 // java.lang.SecurityManager sm
         1: .line 377
            aload 3 /* sm */
            ifnull 4
         2: .line 378
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixPath.checkWrite:()V
         3: .line 379
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixPath.checkWrite:()V
         4: .line 383
      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 386
            aload 4 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.atomicMove:Z
            ifeq 17
         6: .line 388
            aload 0 /* source */
            aload 1 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.rename:(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;)V
         7: .line 389
            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 390
            aload 5 /* x */
            invokevirtual sun.nio.fs.UnixException.errno:()I
            bipush 18
            if_icmpne 15
        10: .line 391
            new java.nio.file.AtomicMoveNotSupportedException
            dup
        11: .line 392
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
        12: .line 393
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
        13: .line 394
            aload 5 /* x */
            invokevirtual sun.nio.fs.UnixException.errorString:()Ljava/lang/String;
        14: .line 391
            invokespecial java.nio.file.AtomicMoveNotSupportedException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            athrow
        15: .line 396
      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 398
      StackMap locals:
      StackMap stack:
            return
        17: .line 402
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* sourceAttrs */
        start local 5 // sun.nio.fs.UnixFileAttributes sourceAttrs
        18: .line 403
            aconst_null
            astore 6 /* targetAttrs */
        start local 6 // sun.nio.fs.UnixFileAttributes targetAttrs
        19: .line 407
            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 408
            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 409
            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 414
      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 415
            goto 26
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        25: pop
        26: .line 418
      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 424
            iload 7 /* targetExists */
            ifeq 48
        30: .line 425
            aload 5 /* sourceAttrs */
            aload 6 /* targetAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isSameFile:(Lsun/nio/fs/UnixFileAttributes;)Z
            ifeq 32
        31: .line 426
            return
        32: .line 427
      StackMap locals: int
      StackMap stack:
            aload 4 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.replaceExisting:Z
            ifne 36
        33: .line 428
            new java.nio.file.FileAlreadyExistsException
            dup
        34: .line 429
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
        35: .line 428
            invokespecial java.nio.file.FileAlreadyExistsException.<init>:(Ljava/lang/String;)V
            athrow
        36: .line 434
      StackMap locals:
      StackMap stack:
            aload 6 /* targetAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 39
        37: .line 435
            aload 1 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
        38: .line 436
            goto 48
        39: .line 437
      StackMap locals:
      StackMap stack:
            aload 1 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
        40: .line 439
            goto 48
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        41: astore 8 /* x */
        start local 8 // sun.nio.fs.UnixException x
        42: .line 441
            aload 6 /* targetAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 47
        43: .line 442
            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 444
      StackMap locals: sun.nio.fs.UnixException
      StackMap stack:
            new java.nio.file.DirectoryNotEmptyException
            dup
        45: .line 445
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
        46: .line 444
            invokespecial java.nio.file.DirectoryNotEmptyException.<init>:(Ljava/lang/String;)V
            athrow
        47: .line 447
      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 453
      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 454
            return
        50: .line 455
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
            astore 8 /* x */
        start local 8 // sun.nio.fs.UnixException x
        51: .line 456
            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 457
            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 462
      StackMap locals:
      StackMap stack:
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 56
        54: .line 463
            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 464
            goto 63
        56: .line 465
      StackMap locals:
      StackMap stack:
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isSymbolicLink:()Z
            ifeq 59
        57: .line 466
            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 467
            goto 63
        59: .line 468
      StackMap locals:
      StackMap stack:
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDevice:()Z
            ifeq 62
        60: .line 469
            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 470
            goto 63
        62: .line 471
      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 478
      StackMap locals:
      StackMap stack:
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 66
        64: .line 479
            aload 0 /* source */
            invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
        65: .line 480
            goto 81
        66: .line 481
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
        67: .line 483
            goto 81
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        68: astore 8 /* x */
        start local 8 // sun.nio.fs.UnixException x
        69: .line 487
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 72
        70: .line 488
            aload 1 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
        71: .line 489
            goto 75
        72: .line 490
      StackMap locals: sun.nio.fs.UnixException
      StackMap stack:
            aload 1 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
        73: .line 492
            goto 75
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        74: pop
        75: .line 494
      StackMap locals:
      StackMap stack:
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 80
        76: .line 495
            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 497
      StackMap locals:
      StackMap stack:
            new java.nio.file.DirectoryNotEmptyException
            dup
        78: .line 498
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
        79: .line 497
            invokespecial java.nio.file.DirectoryNotEmptyException.<init>:(Ljava/lang/String;)V
            athrow
        80: .line 500
      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 502
      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 510
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* sm */
        start local 3 // java.lang.SecurityManager sm
         1: .line 511
            aload 3 /* sm */
            ifnull 4
         2: .line 512
            aload 0 /* source */
            invokevirtual sun.nio.fs.UnixPath.checkRead:()V
         3: .line 513
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixPath.checkWrite:()V
         4: .line 517
      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 519
            aconst_null
            astore 5 /* sourceAttrs */
        start local 5 // sun.nio.fs.UnixFileAttributes sourceAttrs
         6: .line 520
            aconst_null
            astore 6 /* targetAttrs */
        start local 6 // sun.nio.fs.UnixFileAttributes targetAttrs
         7: .line 524
            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 525
            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 526
            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 530
      StackMap locals:
      StackMap stack:
            aload 3 /* sm */
            ifnull 13
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isSymbolicLink:()Z
            ifeq 13
        12: .line 531
            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 536
      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 537
            goto 16
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        15: pop
        16: .line 540
      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 546
            iload 7 /* targetExists */
            ifeq 38
        20: .line 547
            aload 5 /* sourceAttrs */
            aload 6 /* targetAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isSameFile:(Lsun/nio/fs/UnixFileAttributes;)Z
            ifeq 22
        21: .line 548
            return
        22: .line 549
      StackMap locals: int
      StackMap stack:
            aload 4 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.replaceExisting:Z
            ifne 26
        23: .line 550
            new java.nio.file.FileAlreadyExistsException
            dup
        24: .line 551
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
        25: .line 550
            invokespecial java.nio.file.FileAlreadyExistsException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 553
      StackMap locals:
      StackMap stack:
            aload 6 /* targetAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 29
        27: .line 554
            aload 1 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.rmdir:(Lsun/nio/fs/UnixPath;)V
        28: .line 555
            goto 38
        29: .line 556
      StackMap locals:
      StackMap stack:
            aload 1 /* target */
            invokestatic sun.nio.fs.UnixNativeDispatcher.unlink:(Lsun/nio/fs/UnixPath;)V
        30: .line 558
            goto 38
      StackMap locals:
      StackMap stack: sun.nio.fs.UnixException
        31: astore 8 /* x */
        start local 8 // sun.nio.fs.UnixException x
        32: .line 560
            aload 6 /* targetAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 37
        33: .line 561
            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 563
      StackMap locals: sun.nio.fs.UnixException
      StackMap stack:
            new java.nio.file.DirectoryNotEmptyException
            dup
        35: .line 564
            aload 1 /* target */
            invokevirtual sun.nio.fs.UnixPath.getPathForExceptionMessage:()Ljava/lang/String;
        36: .line 563
            invokespecial java.nio.file.DirectoryNotEmptyException.<init>:(Ljava/lang/String;)V
            athrow
        37: .line 566
      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 571
      StackMap locals:
      StackMap stack:
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isDirectory:()Z
            ifeq 41
        39: .line 572
            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 573
            return
        41: .line 575
      StackMap locals:
      StackMap stack:
            aload 5 /* sourceAttrs */
            invokevirtual sun.nio.fs.UnixFileAttributes.isSymbolicLink:()Z
            ifeq 44
        42: .line 576
            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 577
            return
        44: .line 579
      StackMap locals:
      StackMap stack:
            aload 4 /* flags */
            getfield sun.nio.fs.UnixCopyFile$Flags.interruptible:Z
            ifne 47
        45: .line 581
            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 582
            return
        47: .line 586
      StackMap locals:
      StackMap stack:
            aload 5 /* sourceAttrs */
            astore 8 /* attrsToCopy */
        start local 8 // sun.nio.fs.UnixFileAttributes attrsToCopy
        48: .line 587
            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 594
            aload 9 /* copyTask */
            invokestatic sun.nio.fs.Cancellable.runInterruptibly:(Lsun/nio/fs/Cancellable;)V
        50: .line 595
            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 596
            aload 10 /* e */
            invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
            astore 11 /* t */
        start local 11 // java.lang.Throwable t
        53: .line 597
            aload 11 /* t */
            instanceof java.io.IOException
            ifeq 55
        54: .line 598
            aload 11 /* t */
            checkcast java.io.IOException
            athrow
        55: .line 599
      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 601
      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