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 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_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

  final sun.nio.fs.WindowsWatchService this$0;
    descriptor: Lsun/nio/fs/WindowsWatchService;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(sun.nio.fs.WindowsWatchService, sun.nio.fs.WindowsFileSystem, sun.nio.fs.WindowsWatchService, long);
    descriptor: (Lsun/nio/fs/WindowsWatchService;Lsun/nio/fs/WindowsFileSystem;Lsun/nio/fs/WindowsWatchService;J)V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // sun.nio.fs.WindowsWatchService$Poller this
        start local 2 // sun.nio.fs.WindowsFileSystem fs
        start local 3 // sun.nio.fs.WindowsWatchService watcher
        start local 4 // long port
         0: .line 288
            aload 0 /* this */
            aload 1
            putfield sun.nio.fs.WindowsWatchService$Poller.this$0:Lsun/nio/fs/WindowsWatchService;
            aload 0 /* this */
            invokespecial sun.nio.fs.AbstractPoller.<init>:()V
         1: .line 289
            aload 0 /* this */
            aload 2 /* fs */
            putfield sun.nio.fs.WindowsWatchService$Poller.fs:Lsun/nio/fs/WindowsFileSystem;
         2: .line 290
            aload 0 /* this */
            aload 3 /* watcher */
            putfield sun.nio.fs.WindowsWatchService$Poller.watcher:Lsun/nio/fs/WindowsWatchService;
         3: .line 291
            aload 0 /* this */
            lload 4 /* port */
            putfield sun.nio.fs.WindowsWatchService$Poller.port:J
         4: .line 292
            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 293
            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 294
            aload 0 /* this */
            iconst_0
            putfield sun.nio.fs.WindowsWatchService$Poller.lastCompletionKey:I
         7: .line 295
            return
        end local 4 // long port
        end local 3 // sun.nio.fs.WindowsWatchService watcher
        end local 2 // 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     2       fs  Lsun/nio/fs/WindowsFileSystem;
            0    8     3  watcher  Lsun/nio/fs/WindowsWatchService;
            0    8     4     port  J
    MethodParameters:
         Name  Flags
      this$0   final
      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 300
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.port:J
            lconst_0
            invokestatic sun.nio.fs.WindowsNativeDispatcher.PostQueuedCompletionStatus:(JJ)V
         1: .line 301
            goto 4
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
         2: astore 1 /* x */
        start local 1 // sun.nio.fs.WindowsException x
         3: .line 302
            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 304
      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 320
            aload 1 /* obj */
            checkcast sun.nio.fs.WindowsPath
            astore 4 /* dir */
        start local 4 // sun.nio.fs.WindowsPath dir
         1: .line 321
            iconst_0
            istore 5 /* watchSubtree */
        start local 5 // boolean watchSubtree
         2: .line 324
            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 325
            aload 6 /* modifier */
            getstatic com.sun.nio.file.ExtendedWatchEventModifier.FILE_TREE:Lcom/sun/nio/file/ExtendedWatchEventModifier;
            if_acmpne 7
         5: .line 326
            iconst_1
            istore 5 /* watchSubtree */
         6: .line 327
            goto 12
         7: .line 328
      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 329
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            areturn
         9: .line 330
      StackMap locals:
      StackMap stack:
            aload 6 /* modifier */
            instanceof com.sun.nio.file.SensitivityWatchEventModifier
            ifeq 11
        10: .line 331
            goto 12
        11: .line 332
      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 324
      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 339
            aload 4 /* dir */
            invokevirtual sun.nio.fs.WindowsPath.getPathForWin32Calls:()Ljava/lang/String;
        15: .line 340
            iconst_1
        16: .line 341
            bipush 7
        17: .line 342
            iconst_3
        18: .line 343
            ldc 1107296256
        19: .line 339
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CreateFile:(Ljava/lang/String;IIII)J
            lstore 6 /* handle */
        start local 6 // long handle
        20: .line 344
            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 345
            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 348
      StackMap locals: long
      StackMap stack:
            iconst_0
            istore 8 /* registered */
        start local 8 // boolean registered
        24: .line 353
            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 354
            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 355
            aload 10 /* x */
            aload 4 /* dir */
            invokevirtual sun.nio.fs.WindowsException.asIOException:(Lsun/nio/fs/WindowsPath;)Ljava/io/IOException;
            astore 23
        28: .line 435
            iload 8 /* registered */
            ifne 29
            lload 6 /* handle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        29: .line 355
      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 357
      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 358
            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 435
            iload 8 /* registered */
            ifne 33
            lload 6 /* handle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        33: .line 358
      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 362
      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 363
            aload 9 /* attrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.fileIndexHigh:()I
        36: .line 364
            aload 9 /* attrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.fileIndexLow:()I
        37: .line 362
            invokespecial sun.nio.fs.WindowsWatchService$FileKey.<init>:(III)V
            astore 10 /* fk */
        start local 10 // sun.nio.fs.WindowsWatchService$FileKey fk
        38: .line 365
            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 369
            aload 11 /* existing */
            ifnull 44
            iload 5 /* watchSubtree */
            aload 11 /* existing */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.watchSubtree:()Z
            if_icmpne 44
        40: .line 370
            aload 11 /* existing */
            aload 2 /* events */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.setEvents:(Ljava/util/Set;)V
        41: .line 371
            aload 11 /* existing */
            astore 23
        42: .line 435
            iload 8 /* registered */
            ifne 43
            lload 6 /* handle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        43: .line 371
      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 376
      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 377
            iload 12 /* completionKey */
            ifne 47
        46: .line 378
            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 382
      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 383
            goto 53
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
        49: astore 13 /* x */
        start local 13 // sun.nio.fs.WindowsException x
        50: .line 384
            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 435
            iload 8 /* registered */
            ifne 52
            lload 6 /* handle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        52: .line 384
      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 389
      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 390
            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 392
            aload 14 /* buffer */
            invokevirtual sun.nio.fs.NativeBuffer.address:()J
            lstore 15 /* bufferAddress */
        start local 15 // long bufferAddress
        56: .line 393
            lload 15 /* bufferAddress */
            iload 13 /* size */
            i2l
            ladd
            ldc 32
            lsub
            lstore 17 /* overlappedAddress */
        start local 17 // long overlappedAddress
        57: .line 394
            lload 17 /* overlappedAddress */
            ldc 4
            lsub
            lstore 19 /* countAddress */
        start local 19 // long countAddress
        58: .line 398
            lload 6 /* handle */
        59: .line 399
            lload 15 /* bufferAddress */
        60: .line 400
            sipush 16384
        61: .line 401
            iload 5 /* watchSubtree */
        62: .line 402
            sipush 351
        63: .line 403
            lload 19 /* countAddress */
        64: .line 404
            lload 17 /* overlappedAddress */
        65: .line 398
            invokestatic sun.nio.fs.WindowsNativeDispatcher.ReadDirectoryChangesW:(JJIZIJJ)V
        66: .line 405
            goto 72
      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
        67: astore 21 /* x */
        start local 21 // sun.nio.fs.WindowsException x
        68: .line 406
            aload 14 /* buffer */
            invokevirtual sun.nio.fs.NativeBuffer.release:()V
        69: .line 407
            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
        70: .line 435
            iload 8 /* registered */
            ifne 71
            lload 6 /* handle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        71: .line 407
      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
        72: .line 411
      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 80
        73: .line 413
            new sun.nio.fs.WindowsWatchService$WindowsWatchKey
            dup
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.this$0:Lsun/nio/fs/WindowsWatchService;
            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>:(Lsun/nio/fs/WindowsWatchService;Ljava/nio/file/Path;Lsun/nio/fs/AbstractWatchService;Lsun/nio/fs/WindowsWatchService$FileKey;)V
        74: .line 414
            lload 6 /* handle */
            aload 2 /* events */
            iload 5 /* watchSubtree */
            aload 14 /* buffer */
            lload 19 /* countAddress */
        75: .line 415
            lload 17 /* overlappedAddress */
            iload 12 /* completionKey */
        76: .line 414
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.init:(JLjava/util/Set;ZLsun/nio/fs/NativeBuffer;JJI)Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
        77: .line 413
            astore 21 /* watchKey */
        start local 21 // sun.nio.fs.WindowsWatchService$WindowsWatchKey watchKey
        78: .line 417
            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
        79: .line 418
            goto 85
        end local 21 // sun.nio.fs.WindowsWatchService$WindowsWatchKey watchKey
        80: .line 423
      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
        81: .line 424
            aload 11 /* existing */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.releaseResources:()V
        82: .line 425
            aload 11 /* existing */
            lload 6 /* handle */
            aload 2 /* events */
            iload 5 /* watchSubtree */
            aload 14 /* buffer */
        83: .line 426
            lload 19 /* countAddress */
            lload 17 /* overlappedAddress */
            iload 12 /* completionKey */
        84: .line 425
            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
        85: .line 429
      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
        86: .line 431
            iconst_1
            istore 8 /* registered */
        87: .line 432
            aload 21 /* watchKey */
            astore 23
        88: .line 435
            iload 8 /* registered */
            ifne 89
            lload 6 /* handle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        89: .line 432
      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
        90: .line 434
      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
        91: .line 435
            iload 8 /* registered */
            ifne 92
            lload 6 /* handle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        92: .line 436
      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   93     0               this  Lsun/nio/fs/WindowsWatchService$Poller;
            0   93     1                obj  Ljava/nio/file/Path;
            0   93     2             events  Ljava/util/Set<+Ljava/nio/file/WatchEvent$Kind<*>;>;
            0   93     3          modifiers  [Ljava/nio/file/WatchEvent$Modifier;
            1   93     4                dir  Lsun/nio/fs/WindowsPath;
            2   93     5       watchSubtree  Z
            4   12     6           modifier  Ljava/nio/file/WatchEvent$Modifier;
           20   21     6             handle  J
           23   93     6             handle  J
           22   23     8                  x  Lsun/nio/fs/WindowsException;
           24   93     8         registered  Z
           25   26     9              attrs  Lsun/nio/fs/WindowsFileAttributes;
           30   90     9              attrs  Lsun/nio/fs/WindowsFileAttributes;
           27   30    10                  x  Lsun/nio/fs/WindowsException;
           38   90    10                 fk  Lsun/nio/fs/WindowsWatchService$FileKey;
           39   90    11           existing  Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
           45   90    12      completionKey  I
           50   53    13                  x  Lsun/nio/fs/WindowsException;
           54   90    13               size  I
           55   90    14             buffer  Lsun/nio/fs/NativeBuffer;
           56   90    15      bufferAddress  J
           57   90    17  overlappedAddress  J
           58   90    19       countAddress  J
           68   72    21                  x  Lsun/nio/fs/WindowsException;
           78   80    21           watchKey  Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
           85   90    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
          58    66      67  Class sun.nio.fs.WindowsException
          24    28      90  any
          30    32      90  any
          34    42      90  any
          44    51      90  any
          53    70      90  any
          72    88      90  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  

  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 442
            aload 1 /* obj */
            checkcast sun.nio.fs.WindowsWatchService$WindowsWatchKey
            astore 2 /* key */
        start local 2 // sun.nio.fs.WindowsWatchService$WindowsWatchKey key
         1: .line 443
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.isValid:()Z
            ifeq 5
         2: .line 444
            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 445
            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 446
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.invalidate:()V
         5: .line 448
      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=3, args_size=1
        start local 0 // sun.nio.fs.WindowsWatchService$Poller this
         0: .line 454
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.ck2key:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 3
      StackMap locals: sun.nio.fs.WindowsWatchService$Poller top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 1 /* entry */
        start local 1 // java.util.Map$Entry entry
         2: .line 455
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast sun.nio.fs.WindowsWatchService$WindowsWatchKey
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.invalidate:()V
        end local 1 // java.util.Map$Entry entry
         3: .line 454
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 457
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.fk2key:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         5: .line 458
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.ck2key:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         6: .line 461
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.port:J
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
         7: .line 462
            return
        end local 0 // sun.nio.fs.WindowsWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lsun/nio/fs/WindowsWatchService$Poller;
            2    3     1  entry  Ljava/util/Map$Entry<Ljava/lang/Integer;Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;>;

  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 467
            iload 1 /* action */
            tableswitch { // 1 - 5
                    1: 2
                    2: 3
                    3: 1
                    4: 3
                    5: 2
              default: 4
          }
         1: .line 469
      StackMap locals:
      StackMap stack:
            getstatic java.nio.file.StandardWatchEventKinds.ENTRY_MODIFY:Ljava/nio/file/WatchEvent$Kind;
            areturn
         2: .line 473
      StackMap locals:
      StackMap stack:
            getstatic java.nio.file.StandardWatchEventKinds.ENTRY_CREATE:Ljava/nio/file/WatchEvent$Kind;
            areturn
         3: .line 477
      StackMap locals:
      StackMap stack:
            getstatic java.nio.file.StandardWatchEventKinds.ENTRY_DELETE:Ljava/nio/file/WatchEvent$Kind;
            areturn
         4: .line 480
      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 486
            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 490
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.this$0:Lsun/nio/fs/WindowsWatchService;
            getfield sun.nio.fs.WindowsWatchService.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 493
            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 494
            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 496
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.this$0:Lsun/nio/fs/WindowsWatchService;
            getfield sun.nio.fs.WindowsWatchService.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 497
            iload 8 /* nameLengthInBytes */
            iconst_2
            irem
            ifeq 7
         6: .line 498
            new java.lang.AssertionError
            dup
            ldc "FileNameLength.FileNameLength is not a multiple of 2"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 500
      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 501
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.this$0:Lsun/nio/fs/WindowsWatchService;
            getfield sun.nio.fs.WindowsWatchService.unsafe:Lsun/misc/Unsafe;
            aconst_null
            lload 3 /* address */
            ldc 12
            ladd
            aload 9 /* nameAsArray */
         9: .line 502
            getstatic sun.misc.Unsafe.ARRAY_CHAR_BASE_OFFSET:I
            i2l
            iload 8 /* nameLengthInBytes */
            i2l
        10: .line 501
            invokevirtual sun.misc.Unsafe.copyMemory:(Ljava/lang/Object;JLjava/lang/Object;JJ)V
        11: .line 506
            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 505
            astore 10 /* name */
        start local 10 // sun.nio.fs.WindowsPath name
        13: .line 507
            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 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.this$0:Lsun/nio/fs/WindowsWatchService;
            getfield sun.nio.fs.WindowsWatchService.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 512
            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 513
            iload 5 /* nextOffset */
            ifne 1
        17: .line 514
            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 524
      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 525
            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 527
            aload 2 /* x */
            invokevirtual sun.nio.fs.WindowsException.printStackTrace:()V
         4: .line 528
            return
        end local 2 // sun.nio.fs.WindowsException x
        start local 1 // sun.nio.fs.WindowsNativeDispatcher$CompletionStatus info
         5: .line 532
      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 533
            aload 0 /* this */
            invokevirtual sun.nio.fs.WindowsWatchService$Poller.processRequests:()Z
            istore 2 /* shutdown */
        start local 2 // boolean shutdown
         7: .line 534
            iload 2 /* shutdown */
            ifeq 0
         8: .line 535
            return
        end local 2 // boolean shutdown
         9: .line 541
      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 542
            aload 2 /* key */
            ifnonnull 12
        11: .line 546
            goto 0
        12: .line 549
      StackMap locals: sun.nio.fs.WindowsWatchService$WindowsWatchKey
      StackMap stack:
            iconst_0
            istore 3 /* criticalError */
        start local 3 // boolean criticalError
        13: .line 550
            aload 1 /* info */
            invokevirtual sun.nio.fs.WindowsNativeDispatcher$CompletionStatus.error:()I
            istore 4 /* errorCode */
        start local 4 // int errorCode
        14: .line 551
            aload 1 /* info */
            invokevirtual sun.nio.fs.WindowsNativeDispatcher$CompletionStatus.bytesTransferred:()I
            istore 5 /* messageSize */
        start local 5 // int messageSize
        15: .line 552
            iload 4 /* errorCode */
            sipush 1022
            if_icmpne 18
        16: .line 554
            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 555
            goto 37
      StackMap locals: int int int
      StackMap stack:
        18: iload 4 /* errorCode */
            ifeq 21
            iload 4 /* errorCode */
            sipush 234
            if_icmpeq 21
        19: .line 557
            iconst_1
            istore 3 /* criticalError */
        20: .line 558
            goto 37
        21: .line 563
      StackMap locals:
      StackMap stack:
            iload 5 /* messageSize */
            ifle 24
        22: .line 565
            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 566
            goto 26
      StackMap locals:
      StackMap stack:
        24: iload 4 /* errorCode */
            ifne 26
        25: .line 569
            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 574
      StackMap locals:
      StackMap stack:
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.handle:()J
        27: .line 575
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.buffer:()Lsun/nio/fs/NativeBuffer;
            invokevirtual sun.nio.fs.NativeBuffer.address:()J
        28: .line 576
            sipush 16384
        29: .line 577
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.watchSubtree:()Z
        30: .line 578
            sipush 351
        31: .line 579
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.countAddress:()J
        32: .line 580
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.overlappedAddress:()J
        33: .line 574
            invokestatic sun.nio.fs.WindowsNativeDispatcher.ReadDirectoryChangesW:(JJIZIJJ)V
        34: .line 581
            goto 37
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
        35: pop
        36: .line 583
            iconst_1
            istore 3 /* criticalError */
        37: .line 586
      StackMap locals:
      StackMap stack:
            iload 3 /* criticalError */
            ifeq 0
        38: .line 587
            aload 0 /* this */
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$Poller.implCancelKey:(Ljava/nio/file/WatchKey;)V
        39: .line 588
            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
        40: .line 521
            goto 0
        end local 0 // sun.nio.fs.WindowsWatchService$Poller this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   41     0           this  Lsun/nio/fs/WindowsWatchService$Poller;
            1    2     1           info  Lsun/nio/fs/WindowsNativeDispatcher$CompletionStatus;
            5   40     1           info  Lsun/nio/fs/WindowsNativeDispatcher$CompletionStatus;
            3    5     2              x  Lsun/nio/fs/WindowsException;
            7    9     2       shutdown  Z
           10   40     2            key  Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
           13   40     3  criticalError  Z
           14   40     4      errorCode  I
           15   40     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 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
  public abstract Entry = java.util.Map$Entry of java.util.Map
  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