class sun.nio.fs.WindowsWatchService$Poller extends sun.nio.fs.AbstractPoller
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.nio.fs.WindowsWatchService$Poller
  super_class: sun.nio.fs.AbstractPoller
{
  private static final sun.misc.Unsafe UNSAFE;
    descriptor: Lsun/misc/Unsafe;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final short SIZEOF_DWORD;
    descriptor: S
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final short SIZEOF_OVERLAPPED;
    descriptor: S
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  private static final short OFFSETOF_HEVENT;
    descriptor: S
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final short OFFSETOF_NEXTENTRYOFFSET;
    descriptor: S
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final short OFFSETOF_ACTION;
    descriptor: S
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final short OFFSETOF_FILENAMELENGTH;
    descriptor: S
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final short OFFSETOF_FILENAME;
    descriptor: S
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  private static final int CHANGES_BUFFER_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16384

  private final sun.nio.fs.WindowsFileSystem fs;
    descriptor: Lsun/nio/fs/WindowsFileSystem;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final sun.nio.fs.WindowsWatchService watcher;
    descriptor: Lsun/nio/fs/WindowsWatchService;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long port;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map<java.lang.Integer, sun.nio.fs.WindowsWatchService$WindowsWatchKey> ck2key;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Integer;Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;>;

  private final java.util.Map<sun.nio.fs.WindowsWatchService$FileKey, sun.nio.fs.WindowsWatchService$WindowsWatchKey> fk2key;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lsun/nio/fs/WindowsWatchService$FileKey;Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;>;

  private int lastCompletionKey;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 258
            invokestatic sun.misc.Unsafe.getUnsafe:()Lsun/misc/Unsafe;
            putstatic sun.nio.fs.WindowsWatchService$Poller.UNSAFE:Lsun/misc/Unsafe;
         1: .line 274
            getstatic sun.nio.fs.WindowsWatchService$Poller.UNSAFE:Lsun/misc/Unsafe;
            invokevirtual sun.misc.Unsafe.addressSize:()I
            iconst_4
            if_icmpne 2
            bipush 16
            goto 3
      StackMap locals:
      StackMap stack:
         2: bipush 24
         3: .line 273
      StackMap locals:
      StackMap stack: int
            putstatic sun.nio.fs.WindowsWatchService$Poller.OFFSETOF_HEVENT:S
         4: .line 292
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(sun.nio.fs.WindowsFileSystem, sun.nio.fs.WindowsWatchService, long);
    descriptor: (Lsun/nio/fs/WindowsFileSystem;Lsun/nio/fs/WindowsWatchService;J)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // sun.nio.fs.WindowsWatchService$Poller this
        start local 1 // sun.nio.fs.WindowsFileSystem fs
        start local 2 // sun.nio.fs.WindowsWatchService watcher
        start local 3 // long port
         0: .line 308
            aload 0 /* this */
            invokespecial sun.nio.fs.AbstractPoller.<init>:()V
         1: .line 309
            aload 0 /* this */
            aload 1 /* fs */
            putfield sun.nio.fs.WindowsWatchService$Poller.fs:Lsun/nio/fs/WindowsFileSystem;
         2: .line 310
            aload 0 /* this */
            aload 2 /* watcher */
            putfield sun.nio.fs.WindowsWatchService$Poller.watcher:Lsun/nio/fs/WindowsWatchService;
         3: .line 311
            aload 0 /* this */
            lload 3 /* port */
            putfield sun.nio.fs.WindowsWatchService$Poller.port:J
         4: .line 312
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.nio.fs.WindowsWatchService$Poller.ck2key:Ljava/util/Map;
         5: .line 313
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.nio.fs.WindowsWatchService$Poller.fk2key:Ljava/util/Map;
         6: .line 314
            aload 0 /* this */
            iconst_0
            putfield sun.nio.fs.WindowsWatchService$Poller.lastCompletionKey:I
         7: .line 315
            return
        end local 3 // long port
        end local 2 // sun.nio.fs.WindowsWatchService watcher
        end local 1 // sun.nio.fs.WindowsFileSystem fs
        end local 0 // sun.nio.fs.WindowsWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lsun/nio/fs/WindowsWatchService$Poller;
            0    8     1       fs  Lsun/nio/fs/WindowsFileSystem;
            0    8     2  watcher  Lsun/nio/fs/WindowsWatchService;
            0    8     3     port  J
    MethodParameters:
         Name  Flags
      fs       
      watcher  
      port     

  void wakeup();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // sun.nio.fs.WindowsWatchService$Poller this
         0: .line 320
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.port:J
            lconst_0
            invokestatic sun.nio.fs.WindowsNativeDispatcher.PostQueuedCompletionStatus:(JJ)V
         1: .line 321
            goto 4
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
         2: astore 1 /* x */
        start local 1 // sun.nio.fs.WindowsException x
         3: .line 322
            new java.io.IOException
            dup
            aload 1 /* x */
            invokevirtual sun.nio.fs.WindowsException.getMessage:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // sun.nio.fs.WindowsException x
         4: .line 324
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.nio.fs.WindowsWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/nio/fs/WindowsWatchService$Poller;
            3    4     1     x  Lsun/nio/fs/WindowsException;
      Exception table:
        from    to  target  type
           0     1       2  Class sun.nio.fs.WindowsException
    Exceptions:
      throws java.io.IOException

   implRegister(java.nio.file.Path, java.util.Set<? extends java.nio.file.WatchEvent$Kind<?>>, java.nio.file.WatchEvent$Modifier[]);
    descriptor: (Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/WatchEvent$Modifier;)Ljava/lang/Object;
    flags: (0x0080) ACC_VARARGS
    Code:
      stack=11, locals=24, args_size=4
        start local 0 // sun.nio.fs.WindowsWatchService$Poller this
        start local 1 // java.nio.file.Path obj
        start local 2 // java.util.Set events
        start local 3 // java.nio.file.WatchEvent$Modifier[] modifiers
         0: .line 340
            aload 1 /* obj */
            checkcast sun.nio.fs.WindowsPath
            astore 4 /* dir */
        start local 4 // sun.nio.fs.WindowsPath dir
         1: .line 341
            iconst_0
            istore 5 /* watchSubtree */
        start local 5 // boolean watchSubtree
         2: .line 344
            aload 3 /* modifiers */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 13
      StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int top int int java.nio.file.WatchEvent$Modifier[]
      StackMap stack:
         3: aload 9
            iload 7
            aaload
            astore 6 /* modifier */
        start local 6 // java.nio.file.WatchEvent$Modifier modifier
         4: .line 345
            aload 6 /* modifier */
            getstatic com.sun.nio.file.ExtendedWatchEventModifier.FILE_TREE:Lcom/sun/nio/file/ExtendedWatchEventModifier;
            if_acmpne 7
         5: .line 346
            iconst_1
            istore 5 /* watchSubtree */
         6: .line 347
            goto 12
         7: .line 348
      StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int java.nio.file.WatchEvent$Modifier int int java.nio.file.WatchEvent$Modifier[]
      StackMap stack:
            aload 6 /* modifier */
            ifnonnull 9
         8: .line 349
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            areturn
         9: .line 350
      StackMap locals:
      StackMap stack:
            aload 6 /* modifier */
            instanceof com.sun.nio.file.SensitivityWatchEventModifier
            ifeq 11
        10: .line 351
            goto 12
        11: .line 352
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            ldc "Modifier not supported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            areturn
        end local 6 // java.nio.file.WatchEvent$Modifier modifier
        12: .line 344
      StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int top int int java.nio.file.WatchEvent$Modifier[]
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        13: iload 7
            iload 8
            if_icmplt 3
        14: .line 359
            aload 4 /* dir */
            invokevirtual sun.nio.fs.WindowsPath.getPathForWin32Calls:()Ljava/lang/String;
        15: .line 360
            iconst_1
        16: .line 361
            bipush 7
        17: .line 362
            iconst_3
        18: .line 363
            ldc 1107296256
        19: .line 359
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CreateFile:(Ljava/lang/String;IIII)J
            lstore 6 /* handle */
        start local 6 // long handle
        20: .line 364
            goto 23
        end local 6 // long handle
      StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int
      StackMap stack: sun.nio.fs.WindowsException
        21: astore 8 /* x */
        start local 8 // sun.nio.fs.WindowsException x
        22: .line 365
            aload 8 /* x */
            aload 4 /* dir */
            invokevirtual sun.nio.fs.WindowsException.asIOException:(Lsun/nio/fs/WindowsPath;)Ljava/io/IOException;
            areturn
        end local 8 // sun.nio.fs.WindowsException x
        start local 6 // long handle
        23: .line 368
      StackMap locals: long
      StackMap stack:
            iconst_0
            istore 8 /* registered */
        start local 8 // boolean registered
        24: .line 373
            lload 6 /* handle */
            invokestatic sun.nio.fs.WindowsFileAttributes.readAttributes:(J)Lsun/nio/fs/WindowsFileAttributes;
            astore 9 /* attrs */
        start local 9 // sun.nio.fs.WindowsFileAttributes attrs
        25: .line 374
            goto 30
        end local 9 // sun.nio.fs.WindowsFileAttributes attrs
      StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int
      StackMap stack: sun.nio.fs.WindowsException
        26: astore 10 /* x */
        start local 10 // sun.nio.fs.WindowsException x
        27: .line 375
            aload 10 /* x */
            aload 4 /* dir */
            invokevirtual sun.nio.fs.WindowsException.asIOException:(Lsun/nio/fs/WindowsPath;)Ljava/io/IOException;
            astore 23
        28: .line 461
            iload 8 /* registered */
            ifne 29
            lload 6 /* handle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        29: .line 375
      StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int top sun.nio.fs.WindowsException top top top top top top top top top top top top java.lang.Object
      StackMap stack:
            aload 23
            areturn
        end local 10 // sun.nio.fs.WindowsException x
        start local 9 // sun.nio.fs.WindowsFileAttributes attrs
        30: .line 377
      StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int sun.nio.fs.WindowsFileAttributes
      StackMap stack:
            aload 9 /* attrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
            ifne 34
        31: .line 378
            new java.nio.file.NotDirectoryException
            dup
            aload 4 /* dir */
            invokevirtual sun.nio.fs.WindowsPath.getPathForExceptionMessage:()Ljava/lang/String;
            invokespecial java.nio.file.NotDirectoryException.<init>:(Ljava/lang/String;)V
            astore 23
        32: .line 461
            iload 8 /* registered */
            ifne 33
            lload 6 /* handle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        33: .line 378
      StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int sun.nio.fs.WindowsFileAttributes top top top top top top top top top top top top top java.lang.Object
      StackMap stack:
            aload 23
            areturn
        34: .line 382
      StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int sun.nio.fs.WindowsFileAttributes
      StackMap stack:
            new sun.nio.fs.WindowsWatchService$FileKey
            dup
            aload 9 /* attrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.volSerialNumber:()I
        35: .line 383
            aload 9 /* attrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.fileIndexHigh:()I
        36: .line 384
            aload 9 /* attrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.fileIndexLow:()I
        37: .line 382
            invokespecial sun.nio.fs.WindowsWatchService$FileKey.<init>:(III)V
            astore 10 /* fk */
        start local 10 // sun.nio.fs.WindowsWatchService$FileKey fk
        38: .line 385
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.fk2key:Ljava/util/Map;
            aload 10 /* fk */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.nio.fs.WindowsWatchService$WindowsWatchKey
            astore 11 /* existing */
        start local 11 // sun.nio.fs.WindowsWatchService$WindowsWatchKey existing
        39: .line 389
            aload 11 /* existing */
            ifnull 44
            iload 5 /* watchSubtree */
            aload 11 /* existing */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.watchSubtree:()Z
            if_icmpne 44
        40: .line 390
            aload 11 /* existing */
            aload 2 /* events */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.setEvents:(Ljava/util/Set;)V
        41: .line 391
            aload 11 /* existing */
            astore 23
        42: .line 461
            iload 8 /* registered */
            ifne 43
            lload 6 /* handle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        43: .line 391
      StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsWatchService$FileKey sun.nio.fs.WindowsWatchService$WindowsWatchKey top top top top top top top top top top top java.lang.Object
      StackMap stack:
            aload 23
            areturn
        44: .line 396
      StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsWatchService$FileKey sun.nio.fs.WindowsWatchService$WindowsWatchKey
      StackMap stack:
            aload 0 /* this */
            dup
            getfield sun.nio.fs.WindowsWatchService$Poller.lastCompletionKey:I
            iconst_1
            iadd
            dup_x1
            putfield sun.nio.fs.WindowsWatchService$Poller.lastCompletionKey:I
            istore 12 /* completionKey */
        start local 12 // int completionKey
        45: .line 397
            iload 12 /* completionKey */
            ifne 47
        46: .line 398
            aload 0 /* this */
            dup
            getfield sun.nio.fs.WindowsWatchService$Poller.lastCompletionKey:I
            iconst_1
            iadd
            dup_x1
            putfield sun.nio.fs.WindowsWatchService$Poller.lastCompletionKey:I
            istore 12 /* completionKey */
        47: .line 402
      StackMap locals: int
      StackMap stack:
            lload 6 /* handle */
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.port:J
            iload 12 /* completionKey */
            i2l
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CreateIoCompletionPort:(JJJ)J
            pop2
        48: .line 403
            goto 53
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
        49: astore 13 /* x */
        start local 13 // sun.nio.fs.WindowsException x
        50: .line 404
            new java.io.IOException
            dup
            aload 13 /* x */
            invokevirtual sun.nio.fs.WindowsException.getMessage:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            astore 23
        51: .line 461
            iload 8 /* registered */
            ifne 52
            lload 6 /* handle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        52: .line 404
      StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsWatchService$FileKey sun.nio.fs.WindowsWatchService$WindowsWatchKey int sun.nio.fs.WindowsException top top top top top top top top top java.lang.Object
      StackMap stack:
            aload 23
            areturn
        end local 13 // sun.nio.fs.WindowsException x
        53: .line 409
      StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsWatchService$FileKey sun.nio.fs.WindowsWatchService$WindowsWatchKey int
      StackMap stack:
            sipush 16420
            istore 13 /* size */
        start local 13 // int size
        54: .line 410
            iload 13 /* size */
            invokestatic sun.nio.fs.NativeBuffers.getNativeBuffer:(I)Lsun/nio/fs/NativeBuffer;
            astore 14 /* buffer */
        start local 14 // sun.nio.fs.NativeBuffer buffer
        55: .line 412
            aload 14 /* buffer */
            invokevirtual sun.nio.fs.NativeBuffer.address:()J
            lstore 15 /* bufferAddress */
        start local 15 // long bufferAddress
        56: .line 413
            lload 15 /* bufferAddress */
            iload 13 /* size */
            i2l
            ladd
            ldc 32
            lsub
            lstore 17 /* overlappedAddress */
        start local 17 // long overlappedAddress
        57: .line 414
            lload 17 /* overlappedAddress */
            ldc 4
            lsub
            lstore 19 /* countAddress */
        start local 19 // long countAddress
        58: .line 417
            getstatic sun.nio.fs.WindowsWatchService$Poller.UNSAFE:Lsun/misc/Unsafe;
            lload 17 /* overlappedAddress */
            ldc 32
            iconst_0
            invokevirtual sun.misc.Unsafe.setMemory:(JJB)V
        59: .line 421
            aload 0 /* this */
            lload 17 /* overlappedAddress */
            invokevirtual sun.nio.fs.WindowsWatchService$Poller.createAndAttachEvent:(J)V
        60: .line 423
            lload 6 /* handle */
        61: .line 424
            lload 15 /* bufferAddress */
        62: .line 425
            sipush 16384
        63: .line 426
            iload 5 /* watchSubtree */
        64: .line 427
            sipush 351
        65: .line 428
            lload 19 /* countAddress */
        66: .line 429
            lload 17 /* overlappedAddress */
        67: .line 423
            invokestatic sun.nio.fs.WindowsNativeDispatcher.ReadDirectoryChangesW:(JJIZIJJ)V
        68: .line 430
            goto 75
      StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsWatchService$FileKey sun.nio.fs.WindowsWatchService$WindowsWatchKey int int sun.nio.fs.NativeBuffer long long long
      StackMap stack: sun.nio.fs.WindowsException
        69: astore 21 /* x */
        start local 21 // sun.nio.fs.WindowsException x
        70: .line 431
            aload 0 /* this */
            lload 17 /* overlappedAddress */
            invokevirtual sun.nio.fs.WindowsWatchService$Poller.closeAttachedEvent:(J)V
        71: .line 432
            aload 14 /* buffer */
            invokevirtual sun.nio.fs.NativeBuffer.release:()V
        72: .line 433
            new java.io.IOException
            dup
            aload 21 /* x */
            invokevirtual sun.nio.fs.WindowsException.getMessage:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            astore 23
        73: .line 461
            iload 8 /* registered */
            ifne 74
            lload 6 /* handle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        74: .line 433
      StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsWatchService$FileKey sun.nio.fs.WindowsWatchService$WindowsWatchKey int int sun.nio.fs.NativeBuffer long long long sun.nio.fs.WindowsException top java.lang.Object
      StackMap stack:
            aload 23
            areturn
        end local 21 // sun.nio.fs.WindowsException x
        75: .line 437
      StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsWatchService$FileKey sun.nio.fs.WindowsWatchService$WindowsWatchKey int int sun.nio.fs.NativeBuffer long long long
      StackMap stack:
            aload 11 /* existing */
            ifnonnull 83
        76: .line 439
            new sun.nio.fs.WindowsWatchService$WindowsWatchKey
            dup
            aload 4 /* dir */
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.watcher:Lsun/nio/fs/WindowsWatchService;
            aload 10 /* fk */
            invokespecial sun.nio.fs.WindowsWatchService$WindowsWatchKey.<init>:(Ljava/nio/file/Path;Lsun/nio/fs/AbstractWatchService;Lsun/nio/fs/WindowsWatchService$FileKey;)V
        77: .line 440
            lload 6 /* handle */
            aload 2 /* events */
            iload 5 /* watchSubtree */
            aload 14 /* buffer */
            lload 19 /* countAddress */
        78: .line 441
            lload 17 /* overlappedAddress */
            iload 12 /* completionKey */
        79: .line 440
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.init:(JLjava/util/Set;ZLsun/nio/fs/NativeBuffer;JJI)Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
        80: .line 439
            astore 21 /* watchKey */
        start local 21 // sun.nio.fs.WindowsWatchService$WindowsWatchKey watchKey
        81: .line 443
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.fk2key:Ljava/util/Map;
            aload 10 /* fk */
            aload 21 /* watchKey */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        82: .line 444
            goto 88
        end local 21 // sun.nio.fs.WindowsWatchService$WindowsWatchKey watchKey
        83: .line 449
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.ck2key:Ljava/util/Map;
            aload 11 /* existing */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.completionKey:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        84: .line 450
            aload 0 /* this */
            aload 11 /* existing */
            invokevirtual sun.nio.fs.WindowsWatchService$Poller.releaseResources:(Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;)V
        85: .line 451
            aload 11 /* existing */
            lload 6 /* handle */
            aload 2 /* events */
            iload 5 /* watchSubtree */
            aload 14 /* buffer */
        86: .line 452
            lload 19 /* countAddress */
            lload 17 /* overlappedAddress */
            iload 12 /* completionKey */
        87: .line 451
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.init:(JLjava/util/Set;ZLsun/nio/fs/NativeBuffer;JJI)Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
            astore 21 /* watchKey */
        start local 21 // sun.nio.fs.WindowsWatchService$WindowsWatchKey watchKey
        88: .line 455
      StackMap locals: sun.nio.fs.WindowsWatchService$WindowsWatchKey
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.ck2key:Ljava/util/Map;
            iload 12 /* completionKey */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 21 /* watchKey */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        89: .line 457
            iconst_1
            istore 8 /* registered */
        90: .line 458
            aload 21 /* watchKey */
            astore 23
        91: .line 461
            iload 8 /* registered */
            ifne 92
            lload 6 /* handle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        92: .line 458
      StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int sun.nio.fs.WindowsFileAttributes sun.nio.fs.WindowsWatchService$FileKey sun.nio.fs.WindowsWatchService$WindowsWatchKey int int sun.nio.fs.NativeBuffer long long long sun.nio.fs.WindowsWatchService$WindowsWatchKey top java.lang.Object
      StackMap stack:
            aload 23
            areturn
        end local 21 // sun.nio.fs.WindowsWatchService$WindowsWatchKey watchKey
        end local 19 // long countAddress
        end local 17 // long overlappedAddress
        end local 15 // long bufferAddress
        end local 14 // sun.nio.fs.NativeBuffer buffer
        end local 13 // int size
        end local 12 // int completionKey
        end local 11 // sun.nio.fs.WindowsWatchService$WindowsWatchKey existing
        end local 10 // sun.nio.fs.WindowsWatchService$FileKey fk
        end local 9 // sun.nio.fs.WindowsFileAttributes attrs
        93: .line 460
      StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int
      StackMap stack: java.lang.Throwable
            astore 22
        94: .line 461
            iload 8 /* registered */
            ifne 95
            lload 6 /* handle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        95: .line 462
      StackMap locals: sun.nio.fs.WindowsWatchService$Poller java.nio.file.Path java.util.Set java.nio.file.WatchEvent$Modifier[] sun.nio.fs.WindowsPath int long int top top top top top top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 22
            athrow
        end local 8 // boolean registered
        end local 6 // long handle
        end local 5 // boolean watchSubtree
        end local 4 // sun.nio.fs.WindowsPath dir
        end local 3 // java.nio.file.WatchEvent$Modifier[] modifiers
        end local 2 // java.util.Set events
        end local 1 // java.nio.file.Path obj
        end local 0 // sun.nio.fs.WindowsWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   96     0               this  Lsun/nio/fs/WindowsWatchService$Poller;
            0   96     1                obj  Ljava/nio/file/Path;
            0   96     2             events  Ljava/util/Set<+Ljava/nio/file/WatchEvent$Kind<*>;>;
            0   96     3          modifiers  [Ljava/nio/file/WatchEvent$Modifier;
            1   96     4                dir  Lsun/nio/fs/WindowsPath;
            2   96     5       watchSubtree  Z
            4   12     6           modifier  Ljava/nio/file/WatchEvent$Modifier;
           20   21     6             handle  J
           23   96     6             handle  J
           22   23     8                  x  Lsun/nio/fs/WindowsException;
           24   96     8         registered  Z
           25   26     9              attrs  Lsun/nio/fs/WindowsFileAttributes;
           30   93     9              attrs  Lsun/nio/fs/WindowsFileAttributes;
           27   30    10                  x  Lsun/nio/fs/WindowsException;
           38   93    10                 fk  Lsun/nio/fs/WindowsWatchService$FileKey;
           39   93    11           existing  Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
           45   93    12      completionKey  I
           50   53    13                  x  Lsun/nio/fs/WindowsException;
           54   93    13               size  I
           55   93    14             buffer  Lsun/nio/fs/NativeBuffer;
           56   93    15      bufferAddress  J
           57   93    17  overlappedAddress  J
           58   93    19       countAddress  J
           70   75    21                  x  Lsun/nio/fs/WindowsException;
           81   83    21           watchKey  Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
           88   93    21           watchKey  Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
      Exception table:
        from    to  target  type
          14    20      21  Class sun.nio.fs.WindowsException
          24    25      26  Class sun.nio.fs.WindowsException
          47    48      49  Class sun.nio.fs.WindowsException
          59    68      69  Class sun.nio.fs.WindowsException
          24    28      93  any
          30    32      93  any
          34    42      93  any
          44    51      93  any
          53    73      93  any
          75    91      93  any
    Signature: (Ljava/nio/file/Path;Ljava/util/Set<+Ljava/nio/file/WatchEvent$Kind<*>;>;[Ljava/nio/file/WatchEvent$Modifier;)Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      obj        
      events     
      modifiers  

  private void releaseResources(sun.nio.fs.WindowsWatchService$WindowsWatchKey);
    descriptor: (Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.nio.fs.WindowsWatchService$Poller this
        start local 1 // sun.nio.fs.WindowsWatchService$WindowsWatchKey key
         0: .line 471
            aload 1 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.isErrorStartingOverlapped:()Z
            ifne 5
         1: .line 473
            aload 1 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.handle:()J
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CancelIo:(J)V
         2: .line 474
            aload 1 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.handle:()J
            aload 1 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.overlappedAddress:()J
            invokestatic sun.nio.fs.WindowsNativeDispatcher.GetOverlappedResult:(JJ)I
            pop
         3: .line 475
            goto 5
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
         4: pop
         5: .line 479
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.handle:()J
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
         6: .line 480
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.overlappedAddress:()J
            invokevirtual sun.nio.fs.WindowsWatchService$Poller.closeAttachedEvent:(J)V
         7: .line 481
            aload 1 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.buffer:()Lsun/nio/fs/NativeBuffer;
            invokevirtual sun.nio.fs.NativeBuffer.cleaner:()Lsun/misc/Cleaner;
            invokevirtual sun.misc.Cleaner.clean:()V
         8: .line 482
            return
        end local 1 // sun.nio.fs.WindowsWatchService$WindowsWatchKey key
        end local 0 // sun.nio.fs.WindowsWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/nio/fs/WindowsWatchService$Poller;
            0    9     1   key  Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
      Exception table:
        from    to  target  type
           1     3       4  Class sun.nio.fs.WindowsException
    MethodParameters:
      Name  Flags
      key   

  private void createAndAttachEvent(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // sun.nio.fs.WindowsWatchService$Poller this
        start local 1 // long ov
         0: .line 489
            iconst_0
            iconst_0
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CreateEvent:(ZZ)J
            lstore 3 /* hEvent */
        start local 3 // long hEvent
         1: .line 490
            getstatic sun.nio.fs.WindowsWatchService$Poller.UNSAFE:Lsun/misc/Unsafe;
            lload 1 /* ov */
            getstatic sun.nio.fs.WindowsWatchService$Poller.OFFSETOF_HEVENT:S
            i2l
            ladd
            lload 3 /* hEvent */
            invokevirtual sun.misc.Unsafe.putAddress:(JJ)V
         2: .line 491
            return
        end local 3 // long hEvent
        end local 1 // long ov
        end local 0 // sun.nio.fs.WindowsWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lsun/nio/fs/WindowsWatchService$Poller;
            0    3     1      ov  J
            1    3     3  hEvent  J
    Exceptions:
      throws sun.nio.fs.WindowsException
    MethodParameters:
      Name  Flags
      ov    

  private void closeAttachedEvent(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // sun.nio.fs.WindowsWatchService$Poller this
        start local 1 // long ov
         0: .line 498
            getstatic sun.nio.fs.WindowsWatchService$Poller.UNSAFE:Lsun/misc/Unsafe;
            lload 1 /* ov */
            getstatic sun.nio.fs.WindowsWatchService$Poller.OFFSETOF_HEVENT:S
            i2l
            ladd
            invokevirtual sun.misc.Unsafe.getAddress:(J)J
            lstore 3 /* hEvent */
        start local 3 // long hEvent
         1: .line 499
            lload 3 /* hEvent */
            lconst_0
            lcmp
            ifeq 3
            lload 3 /* hEvent */
            ldc -1
            lcmp
            ifeq 3
         2: .line 500
            lload 3 /* hEvent */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
         3: .line 501
      StackMap locals: long
      StackMap stack:
            return
        end local 3 // long hEvent
        end local 1 // long ov
        end local 0 // sun.nio.fs.WindowsWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lsun/nio/fs/WindowsWatchService$Poller;
            0    4     1      ov  J
            1    4     3  hEvent  J
    MethodParameters:
      Name  Flags
      ov    

  void implCancelKey(java.nio.file.WatchKey);
    descriptor: (Ljava/nio/file/WatchKey;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.nio.fs.WindowsWatchService$Poller this
        start local 1 // java.nio.file.WatchKey obj
         0: .line 506
            aload 1 /* obj */
            checkcast sun.nio.fs.WindowsWatchService$WindowsWatchKey
            astore 2 /* key */
        start local 2 // sun.nio.fs.WindowsWatchService$WindowsWatchKey key
         1: .line 507
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.isValid:()Z
            ifeq 5
         2: .line 508
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.fk2key:Ljava/util/Map;
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.fileKey:()Lsun/nio/fs/WindowsWatchService$FileKey;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 509
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.ck2key:Ljava/util/Map;
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.completionKey:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 510
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.invalidate:()V
         5: .line 512
      StackMap locals: sun.nio.fs.WindowsWatchService$WindowsWatchKey
      StackMap stack:
            return
        end local 2 // sun.nio.fs.WindowsWatchService$WindowsWatchKey key
        end local 1 // java.nio.file.WatchKey obj
        end local 0 // sun.nio.fs.WindowsWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/nio/fs/WindowsWatchService$Poller;
            0    6     1   obj  Ljava/nio/file/WatchKey;
            1    6     2   key  Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
    MethodParameters:
      Name  Flags
      obj   

  void implCloseAll();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.nio.fs.WindowsWatchService$Poller this
         0: .line 518
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.ck2key:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  sun/nio/fs/WindowsWatchService$WindowsWatchKey.invalidate()V (5)
                  (Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;)V
            invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
         1: .line 520
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.fk2key:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         2: .line 521
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.ck2key:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         3: .line 524
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.port:J
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
         4: .line 525
            return
        end local 0 // sun.nio.fs.WindowsWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/nio/fs/WindowsWatchService$Poller;

  private java.nio.file.WatchEvent$Kind<?> translateActionToEvent(int);
    descriptor: (I)Ljava/nio/file/WatchEvent$Kind;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.nio.fs.WindowsWatchService$Poller this
        start local 1 // int action
         0: .line 529
            iload 1 /* action */
            tableswitch { // 1 - 5
                    1: 2
                    2: 3
                    3: 1
                    4: 3
                    5: 2
              default: 4
          }
         1: .line 531
      StackMap locals:
      StackMap stack:
            getstatic java.nio.file.StandardWatchEventKinds.ENTRY_MODIFY:Ljava/nio/file/WatchEvent$Kind;
            areturn
         2: .line 535
      StackMap locals:
      StackMap stack:
            getstatic java.nio.file.StandardWatchEventKinds.ENTRY_CREATE:Ljava/nio/file/WatchEvent$Kind;
            areturn
         3: .line 539
      StackMap locals:
      StackMap stack:
            getstatic java.nio.file.StandardWatchEventKinds.ENTRY_DELETE:Ljava/nio/file/WatchEvent$Kind;
            areturn
         4: .line 542
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // int action
        end local 0 // sun.nio.fs.WindowsWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lsun/nio/fs/WindowsWatchService$Poller;
            0    5     1  action  I
    Signature: (I)Ljava/nio/file/WatchEvent$Kind<*>;
    MethodParameters:
        Name  Flags
      action  

  private void processEvents(sun.nio.fs.WindowsWatchService$WindowsWatchKey, int);
    descriptor: (Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=11, args_size=3
        start local 0 // sun.nio.fs.WindowsWatchService$Poller this
        start local 1 // sun.nio.fs.WindowsWatchService$WindowsWatchKey key
        start local 2 // int size
         0: .line 548
            aload 1 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.buffer:()Lsun/nio/fs/NativeBuffer;
            invokevirtual sun.nio.fs.NativeBuffer.address:()J
            lstore 3 /* address */
        start local 3 // long address
         1: .line 552
      StackMap locals: long
      StackMap stack:
            getstatic sun.nio.fs.WindowsWatchService$Poller.UNSAFE:Lsun/misc/Unsafe;
            lload 3 /* address */
            ldc 4
            ladd
            invokevirtual sun.misc.Unsafe.getInt:(J)I
            istore 6 /* action */
        start local 6 // int action
         2: .line 555
            aload 0 /* this */
            iload 6 /* action */
            invokevirtual sun.nio.fs.WindowsWatchService$Poller.translateActionToEvent:(I)Ljava/nio/file/WatchEvent$Kind;
            astore 7 /* kind */
        start local 7 // java.nio.file.WatchEvent$Kind kind
         3: .line 556
            aload 1 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.events:()Ljava/util/Set;
            aload 7 /* kind */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 14
         4: .line 558
            getstatic sun.nio.fs.WindowsWatchService$Poller.UNSAFE:Lsun/misc/Unsafe;
            lload 3 /* address */
            ldc 8
            ladd
            invokevirtual sun.misc.Unsafe.getInt:(J)I
            istore 8 /* nameLengthInBytes */
        start local 8 // int nameLengthInBytes
         5: .line 559
            iload 8 /* nameLengthInBytes */
            iconst_2
            irem
            ifeq 7
         6: .line 560
            new java.lang.AssertionError
            dup
            ldc "FileNameLength is not a multiple of 2"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 562
      StackMap locals: sun.nio.fs.WindowsWatchService$Poller sun.nio.fs.WindowsWatchService$WindowsWatchKey int long top int java.nio.file.WatchEvent$Kind int
      StackMap stack:
            iload 8 /* nameLengthInBytes */
            iconst_2
            idiv
            newarray 5
            astore 9 /* nameAsArray */
        start local 9 // char[] nameAsArray
         8: .line 563
            getstatic sun.nio.fs.WindowsWatchService$Poller.UNSAFE:Lsun/misc/Unsafe;
            aconst_null
            lload 3 /* address */
            ldc 12
            ladd
            aload 9 /* nameAsArray */
         9: .line 564
            getstatic sun.misc.Unsafe.ARRAY_CHAR_BASE_OFFSET:I
            i2l
            iload 8 /* nameLengthInBytes */
            i2l
        10: .line 563
            invokevirtual sun.misc.Unsafe.copyMemory:(Ljava/lang/Object;JLjava/lang/Object;JJ)V
        11: .line 568
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.fs:Lsun/nio/fs/WindowsFileSystem;
            new java.lang.String
            dup
            aload 9 /* nameAsArray */
            invokespecial java.lang.String.<init>:([C)V
            invokestatic sun.nio.fs.WindowsPath.createFromNormalizedPath:(Lsun/nio/fs/WindowsFileSystem;Ljava/lang/String;)Lsun/nio/fs/WindowsPath;
        12: .line 567
            astore 10 /* name */
        start local 10 // sun.nio.fs.WindowsPath name
        13: .line 569
            aload 1 /* key */
            aload 7 /* kind */
            aload 10 /* name */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.signalEvent:(Ljava/nio/file/WatchEvent$Kind;Ljava/lang/Object;)V
        end local 10 // sun.nio.fs.WindowsPath name
        end local 9 // char[] nameAsArray
        end local 8 // int nameLengthInBytes
        14: .line 573
      StackMap locals:
      StackMap stack:
            getstatic sun.nio.fs.WindowsWatchService$Poller.UNSAFE:Lsun/misc/Unsafe;
            lload 3 /* address */
            lconst_0
            ladd
            invokevirtual sun.misc.Unsafe.getInt:(J)I
            istore 5 /* nextOffset */
        start local 5 // int nextOffset
        15: .line 574
            lload 3 /* address */
            iload 5 /* nextOffset */
            i2l
            ladd
            lstore 3 /* address */
        end local 7 // java.nio.file.WatchEvent$Kind kind
        end local 6 // int action
        16: .line 575
            iload 5 /* nextOffset */
            ifne 1
        17: .line 576
            return
        end local 5 // int nextOffset
        end local 3 // long address
        end local 2 // int size
        end local 1 // sun.nio.fs.WindowsWatchService$WindowsWatchKey key
        end local 0 // sun.nio.fs.WindowsWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   18     0               this  Lsun/nio/fs/WindowsWatchService$Poller;
            0   18     1                key  Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
            0   18     2               size  I
            1   18     3            address  J
           15   18     5         nextOffset  I
            2   16     6             action  I
            3   16     7               kind  Ljava/nio/file/WatchEvent$Kind<*>;
            5   14     8  nameLengthInBytes  I
            8   14     9        nameAsArray  [C
           13   14    10               name  Lsun/nio/fs/WindowsPath;
    MethodParameters:
      Name  Flags
      key   
      size  

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=6, args_size=1
        start local 0 // sun.nio.fs.WindowsWatchService$Poller this
         0: .line 586
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.port:J
            invokestatic sun.nio.fs.WindowsNativeDispatcher.GetQueuedCompletionStatus:(J)Lsun/nio/fs/WindowsNativeDispatcher$CompletionStatus;
            astore 1 /* info */
        start local 1 // sun.nio.fs.WindowsNativeDispatcher$CompletionStatus info
         1: .line 587
            goto 5
        end local 1 // sun.nio.fs.WindowsNativeDispatcher$CompletionStatus info
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
         2: astore 2 /* x */
        start local 2 // sun.nio.fs.WindowsException x
         3: .line 589
            aload 2 /* x */
            invokevirtual sun.nio.fs.WindowsException.printStackTrace:()V
         4: .line 590
            return
        end local 2 // sun.nio.fs.WindowsException x
        start local 1 // sun.nio.fs.WindowsNativeDispatcher$CompletionStatus info
         5: .line 594
      StackMap locals: sun.nio.fs.WindowsNativeDispatcher$CompletionStatus
      StackMap stack:
            aload 1 /* info */
            invokevirtual sun.nio.fs.WindowsNativeDispatcher$CompletionStatus.completionKey:()J
            lconst_0
            lcmp
            ifne 9
         6: .line 595
            aload 0 /* this */
            invokevirtual sun.nio.fs.WindowsWatchService$Poller.processRequests:()Z
            istore 2 /* shutdown */
        start local 2 // boolean shutdown
         7: .line 596
            iload 2 /* shutdown */
            ifeq 0
         8: .line 597
            return
        end local 2 // boolean shutdown
         9: .line 603
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.ck2key:Ljava/util/Map;
            aload 1 /* info */
            invokevirtual sun.nio.fs.WindowsNativeDispatcher$CompletionStatus.completionKey:()J
            l2i
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.nio.fs.WindowsWatchService$WindowsWatchKey
            astore 2 /* key */
        start local 2 // sun.nio.fs.WindowsWatchService$WindowsWatchKey key
        10: .line 604
            aload 2 /* key */
            ifnonnull 12
        11: .line 608
            goto 0
        12: .line 611
      StackMap locals: sun.nio.fs.WindowsWatchService$WindowsWatchKey
      StackMap stack:
            iconst_0
            istore 3 /* criticalError */
        start local 3 // boolean criticalError
        13: .line 612
            aload 1 /* info */
            invokevirtual sun.nio.fs.WindowsNativeDispatcher$CompletionStatus.error:()I
            istore 4 /* errorCode */
        start local 4 // int errorCode
        14: .line 613
            aload 1 /* info */
            invokevirtual sun.nio.fs.WindowsNativeDispatcher$CompletionStatus.bytesTransferred:()I
            istore 5 /* messageSize */
        start local 5 // int messageSize
        15: .line 614
            iload 4 /* errorCode */
            sipush 1022
            if_icmpne 18
        16: .line 616
            aload 2 /* key */
            getstatic java.nio.file.StandardWatchEventKinds.OVERFLOW:Ljava/nio/file/WatchEvent$Kind;
            aconst_null
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.signalEvent:(Ljava/nio/file/WatchEvent$Kind;Ljava/lang/Object;)V
        17: .line 617
            goto 38
      StackMap locals: int int int
      StackMap stack:
        18: iload 4 /* errorCode */
            ifeq 21
            iload 4 /* errorCode */
            sipush 234
            if_icmpeq 21
        19: .line 619
            iconst_1
            istore 3 /* criticalError */
        20: .line 620
            goto 38
        21: .line 625
      StackMap locals:
      StackMap stack:
            iload 5 /* messageSize */
            ifle 24
        22: .line 627
            aload 0 /* this */
            aload 2 /* key */
            iload 5 /* messageSize */
            invokevirtual sun.nio.fs.WindowsWatchService$Poller.processEvents:(Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;I)V
        23: .line 628
            goto 26
      StackMap locals:
      StackMap stack:
        24: iload 4 /* errorCode */
            ifne 26
        25: .line 631
            aload 2 /* key */
            getstatic java.nio.file.StandardWatchEventKinds.OVERFLOW:Ljava/nio/file/WatchEvent$Kind;
            aconst_null
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.signalEvent:(Ljava/nio/file/WatchEvent$Kind;Ljava/lang/Object;)V
        26: .line 636
      StackMap locals:
      StackMap stack:
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.handle:()J
        27: .line 637
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.buffer:()Lsun/nio/fs/NativeBuffer;
            invokevirtual sun.nio.fs.NativeBuffer.address:()J
        28: .line 638
            sipush 16384
        29: .line 639
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.watchSubtree:()Z
        30: .line 640
            sipush 351
        31: .line 641
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.countAddress:()J
        32: .line 642
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.overlappedAddress:()J
        33: .line 636
            invokestatic sun.nio.fs.WindowsNativeDispatcher.ReadDirectoryChangesW:(JJIZIJJ)V
        34: .line 643
            goto 38
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
        35: pop
        36: .line 645
            iconst_1
            istore 3 /* criticalError */
        37: .line 646
            aload 2 /* key */
            iconst_1
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.setErrorStartingOverlapped:(Z)V
        38: .line 649
      StackMap locals:
      StackMap stack:
            iload 3 /* criticalError */
            ifeq 0
        39: .line 650
            aload 0 /* this */
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$Poller.implCancelKey:(Ljava/nio/file/WatchKey;)V
        40: .line 651
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.signal:()V
        end local 5 // int messageSize
        end local 4 // int errorCode
        end local 3 // boolean criticalError
        end local 2 // sun.nio.fs.WindowsWatchService$WindowsWatchKey key
        end local 1 // sun.nio.fs.WindowsNativeDispatcher$CompletionStatus info
        41: .line 583
            goto 0
        end local 0 // sun.nio.fs.WindowsWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   42     0           this  Lsun/nio/fs/WindowsWatchService$Poller;
            1    2     1           info  Lsun/nio/fs/WindowsNativeDispatcher$CompletionStatus;
            5   41     1           info  Lsun/nio/fs/WindowsNativeDispatcher$CompletionStatus;
            3    5     2              x  Lsun/nio/fs/WindowsException;
            7    9     2       shutdown  Z
           10   41     2            key  Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
           13   41     3  criticalError  Z
           14   41     4      errorCode  I
           15   41     5    messageSize  I
      Exception table:
        from    to  target  type
           0     1       2  Class sun.nio.fs.WindowsException
          26    34      35  Class sun.nio.fs.WindowsException
}
SourceFile: "WindowsWatchService.java"
NestHost: sun.nio.fs.WindowsWatchService
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Kind = java.nio.file.WatchEvent$Kind of java.nio.file.WatchEvent
  public abstract Modifier = java.nio.file.WatchEvent$Modifier of java.nio.file.WatchEvent
  CompletionStatus = sun.nio.fs.WindowsNativeDispatcher$CompletionStatus of sun.nio.fs.WindowsNativeDispatcher
  private FileKey = sun.nio.fs.WindowsWatchService$FileKey of sun.nio.fs.WindowsWatchService
  private Poller = sun.nio.fs.WindowsWatchService$Poller of sun.nio.fs.WindowsWatchService
  private WindowsWatchKey = sun.nio.fs.WindowsWatchService$WindowsWatchKey of sun.nio.fs.WindowsWatchService