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 jdk.internal.misc.Unsafe UNSAFE;
    descriptor: Ljdk/internal/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 257
            invokestatic jdk.internal.misc.Unsafe.getUnsafe:()Ljdk/internal/misc/Unsafe;
            putstatic sun.nio.fs.WindowsWatchService$Poller.UNSAFE:Ljdk/internal/misc/Unsafe;
         1: .line 273
            getstatic sun.nio.fs.WindowsWatchService$Poller.UNSAFE:Ljdk/internal/misc/Unsafe;
            invokevirtual jdk.internal.misc.Unsafe.addressSize:()I
            iconst_4
            if_icmpne 2
            bipush 16
            goto 3
      StackMap locals:
      StackMap stack:
         2: bipush 24
         3: .line 272
      StackMap locals:
      StackMap stack: int
            putstatic sun.nio.fs.WindowsWatchService$Poller.OFFSETOF_HEVENT:S
         4: .line 291
            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 307
            aload 0 /* this */
            invokespecial sun.nio.fs.AbstractPoller.<init>:()V
         1: .line 308
            aload 0 /* this */
            aload 1 /* fs */
            putfield sun.nio.fs.WindowsWatchService$Poller.fs:Lsun/nio/fs/WindowsFileSystem;
         2: .line 309
            aload 0 /* this */
            aload 2 /* watcher */
            putfield sun.nio.fs.WindowsWatchService$Poller.watcher:Lsun/nio/fs/WindowsWatchService;
         3: .line 310
            aload 0 /* this */
            lload 3 /* port */
            putfield sun.nio.fs.WindowsWatchService$Poller.port:J
         4: .line 311
            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 312
            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 313
            aload 0 /* this */
            iconst_0
            putfield sun.nio.fs.WindowsWatchService$Poller.lastCompletionKey:I
         7: .line 314
            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 319
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.port:J
            lconst_0
            invokestatic sun.nio.fs.WindowsNativeDispatcher.PostQueuedCompletionStatus:(JJ)V
         1: .line 320
            goto 4
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
         2: astore 1 /* x */
        start local 1 // sun.nio.fs.WindowsException x
         3: .line 321
            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 323
      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 339
            aload 1 /* obj */
            checkcast sun.nio.fs.WindowsPath
            astore 4 /* dir */
        start local 4 // sun.nio.fs.WindowsPath dir
         1: .line 340
            iconst_0
            istore 5 /* watchSubtree */
        start local 5 // boolean watchSubtree
         2: .line 343
            aload 3 /* modifiers */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 14
      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 344
            getstatic sun.nio.fs.ExtendedOptions.FILE_TREE:Lsun/nio/fs/ExtendedOptions$InternalOption;
            aload 6 /* modifier */
            invokevirtual sun.nio.fs.ExtendedOptions$InternalOption.matches:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 345
            iconst_1
            istore 5 /* watchSubtree */
         6: .line 346
            goto 13
         7: .line 347
      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 348
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            areturn
         9: .line 349
      StackMap locals:
      StackMap stack:
            getstatic sun.nio.fs.ExtendedOptions.SENSITIVITY_HIGH:Lsun/nio/fs/ExtendedOptions$InternalOption;
            aload 6 /* modifier */
            invokevirtual sun.nio.fs.ExtendedOptions$InternalOption.matches:(Ljava/lang/Object;)Z
            ifne 13
        10: .line 350
            getstatic sun.nio.fs.ExtendedOptions.SENSITIVITY_MEDIUM:Lsun/nio/fs/ExtendedOptions$InternalOption;
            aload 6 /* modifier */
            invokevirtual sun.nio.fs.ExtendedOptions$InternalOption.matches:(Ljava/lang/Object;)Z
            ifne 13
        11: .line 351
            getstatic sun.nio.fs.ExtendedOptions.SENSITIVITY_LOW:Lsun/nio/fs/ExtendedOptions$InternalOption;
            aload 6 /* modifier */
            invokevirtual sun.nio.fs.ExtendedOptions$InternalOption.matches:(Ljava/lang/Object;)Z
            ifne 13
        12: .line 352
            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
        13: .line 343
      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:
        14: iload 7
            iload 8
            if_icmplt 3
        15: .line 360
            aload 4 /* dir */
            invokevirtual sun.nio.fs.WindowsPath.getPathForWin32Calls:()Ljava/lang/String;
        16: .line 361
            iconst_1
        17: .line 362
            bipush 7
        18: .line 363
            iconst_3
        19: .line 364
            ldc 1107296256
        20: .line 360
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CreateFile:(Ljava/lang/String;IIII)J
            lstore 6 /* handle */
        start local 6 // long handle
        21: .line 365
            goto 24
        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
        22: astore 8 /* x */
        start local 8 // sun.nio.fs.WindowsException x
        23: .line 366
            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
        24: .line 369
      StackMap locals: long
      StackMap stack:
            iconst_0
            istore 8 /* registered */
        start local 8 // boolean registered
        25: .line 374
            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
        26: .line 375
            goto 31
        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
        27: astore 10 /* x */
        start local 10 // sun.nio.fs.WindowsException x
        28: .line 376
            aload 10 /* x */
            aload 4 /* dir */
            invokevirtual sun.nio.fs.WindowsException.asIOException:(Lsun/nio/fs/WindowsPath;)Ljava/io/IOException;
            astore 23
        29: .line 462
            iload 8 /* registered */
            ifne 30
            lload 6 /* handle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        30: .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 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
        31: .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
      StackMap stack:
            aload 9 /* attrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.isDirectory:()Z
            ifne 35
        32: .line 379
            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
        33: .line 462
            iload 8 /* registered */
            ifne 34
            lload 6 /* handle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        34: .line 379
      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
        35: .line 383
      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
        36: .line 384
            aload 9 /* attrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.fileIndexHigh:()I
        37: .line 385
            aload 9 /* attrs */
            invokevirtual sun.nio.fs.WindowsFileAttributes.fileIndexLow:()I
        38: .line 383
            invokespecial sun.nio.fs.WindowsWatchService$FileKey.<init>:(III)V
            astore 10 /* fk */
        start local 10 // sun.nio.fs.WindowsWatchService$FileKey fk
        39: .line 386
            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
        40: .line 390
            aload 11 /* existing */
            ifnull 45
            iload 5 /* watchSubtree */
            aload 11 /* existing */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.watchSubtree:()Z
            if_icmpne 45
        41: .line 391
            aload 11 /* existing */
            aload 2 /* events */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.setEvents:(Ljava/util/Set;)V
        42: .line 392
            aload 11 /* existing */
            astore 23
        43: .line 462
            iload 8 /* registered */
            ifne 44
            lload 6 /* handle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        44: .line 392
      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
        45: .line 397
      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
        46: .line 398
            iload 12 /* completionKey */
            ifne 48
        47: .line 399
            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 */
        48: .line 403
      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
        49: .line 404
            goto 54
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
        50: astore 13 /* x */
        start local 13 // sun.nio.fs.WindowsException x
        51: .line 405
            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
        52: .line 462
            iload 8 /* registered */
            ifne 53
            lload 6 /* handle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        53: .line 405
      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
        54: .line 410
      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
        55: .line 411
            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
        56: .line 413
            aload 14 /* buffer */
            invokevirtual sun.nio.fs.NativeBuffer.address:()J
            lstore 15 /* bufferAddress */
        start local 15 // long bufferAddress
        57: .line 414
            lload 15 /* bufferAddress */
            iload 13 /* size */
            i2l
            ladd
            ldc 32
            lsub
            lstore 17 /* overlappedAddress */
        start local 17 // long overlappedAddress
        58: .line 415
            lload 17 /* overlappedAddress */
            ldc 4
            lsub
            lstore 19 /* countAddress */
        start local 19 // long countAddress
        59: .line 418
            getstatic sun.nio.fs.WindowsWatchService$Poller.UNSAFE:Ljdk/internal/misc/Unsafe;
            lload 17 /* overlappedAddress */
            ldc 32
            iconst_0
            invokevirtual jdk.internal.misc.Unsafe.setMemory:(JJB)V
        60: .line 422
            aload 0 /* this */
            lload 17 /* overlappedAddress */
            invokevirtual sun.nio.fs.WindowsWatchService$Poller.createAndAttachEvent:(J)V
        61: .line 424
            lload 6 /* handle */
        62: .line 425
            lload 15 /* bufferAddress */
        63: .line 426
            sipush 16384
        64: .line 427
            iload 5 /* watchSubtree */
        65: .line 428
            sipush 351
        66: .line 429
            lload 19 /* countAddress */
        67: .line 430
            lload 17 /* overlappedAddress */
        68: .line 424
            invokestatic sun.nio.fs.WindowsNativeDispatcher.ReadDirectoryChangesW:(JJIZIJJ)V
        69: .line 431
            goto 76
      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
        70: astore 21 /* x */
        start local 21 // sun.nio.fs.WindowsException x
        71: .line 432
            aload 0 /* this */
            lload 17 /* overlappedAddress */
            invokevirtual sun.nio.fs.WindowsWatchService$Poller.closeAttachedEvent:(J)V
        72: .line 433
            aload 14 /* buffer */
            invokevirtual sun.nio.fs.NativeBuffer.release:()V
        73: .line 434
            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
        74: .line 462
            iload 8 /* registered */
            ifne 75
            lload 6 /* handle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        75: .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 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
        76: .line 438
      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 84
        77: .line 440
            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
        78: .line 441
            lload 6 /* handle */
            aload 2 /* events */
            iload 5 /* watchSubtree */
            aload 14 /* buffer */
            lload 19 /* countAddress */
        79: .line 442
            lload 17 /* overlappedAddress */
            iload 12 /* completionKey */
        80: .line 441
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.init:(JLjava/util/Set;ZLsun/nio/fs/NativeBuffer;JJI)Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
        81: .line 440
            astore 21 /* watchKey */
        start local 21 // sun.nio.fs.WindowsWatchService$WindowsWatchKey watchKey
        82: .line 444
            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
        83: .line 445
            goto 89
        end local 21 // sun.nio.fs.WindowsWatchService$WindowsWatchKey watchKey
        84: .line 450
      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
        85: .line 451
            aload 0 /* this */
            aload 11 /* existing */
            invokevirtual sun.nio.fs.WindowsWatchService$Poller.releaseResources:(Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;)V
        86: .line 452
            aload 11 /* existing */
            lload 6 /* handle */
            aload 2 /* events */
            iload 5 /* watchSubtree */
            aload 14 /* buffer */
        87: .line 453
            lload 19 /* countAddress */
            lload 17 /* overlappedAddress */
            iload 12 /* completionKey */
        88: .line 452
            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
        89: .line 456
      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
        90: .line 458
            iconst_1
            istore 8 /* registered */
        91: .line 459
            aload 21 /* watchKey */
            astore 23
        92: .line 462
            iload 8 /* registered */
            ifne 93
            lload 6 /* handle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        93: .line 459
      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
        94: .line 461
      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
        95: .line 462
            iload 8 /* registered */
            ifne 96
            lload 6 /* handle */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
        96: .line 463
      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   97     0               this  Lsun/nio/fs/WindowsWatchService$Poller;
            0   97     1                obj  Ljava/nio/file/Path;
            0   97     2             events  Ljava/util/Set<+Ljava/nio/file/WatchEvent$Kind<*>;>;
            0   97     3          modifiers  [Ljava/nio/file/WatchEvent$Modifier;
            1   97     4                dir  Lsun/nio/fs/WindowsPath;
            2   97     5       watchSubtree  Z
            4   13     6           modifier  Ljava/nio/file/WatchEvent$Modifier;
           21   22     6             handle  J
           24   97     6             handle  J
           23   24     8                  x  Lsun/nio/fs/WindowsException;
           25   97     8         registered  Z
           26   27     9              attrs  Lsun/nio/fs/WindowsFileAttributes;
           31   94     9              attrs  Lsun/nio/fs/WindowsFileAttributes;
           28   31    10                  x  Lsun/nio/fs/WindowsException;
           39   94    10                 fk  Lsun/nio/fs/WindowsWatchService$FileKey;
           40   94    11           existing  Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
           46   94    12      completionKey  I
           51   54    13                  x  Lsun/nio/fs/WindowsException;
           55   94    13               size  I
           56   94    14             buffer  Lsun/nio/fs/NativeBuffer;
           57   94    15      bufferAddress  J
           58   94    17  overlappedAddress  J
           59   94    19       countAddress  J
           71   76    21                  x  Lsun/nio/fs/WindowsException;
           82   84    21           watchKey  Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
           89   94    21           watchKey  Lsun/nio/fs/WindowsWatchService$WindowsWatchKey;
      Exception table:
        from    to  target  type
          15    21      22  Class sun.nio.fs.WindowsException
          25    26      27  Class sun.nio.fs.WindowsException
          48    49      50  Class sun.nio.fs.WindowsException
          60    69      70  Class sun.nio.fs.WindowsException
          25    29      94  any
          31    33      94  any
          35    43      94  any
          45    52      94  any
          54    74      94  any
          76    92      94  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 472
            aload 1 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.isErrorStartingOverlapped:()Z
            ifne 5
         1: .line 474
            aload 1 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.handle:()J
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CancelIo:(J)V
         2: .line 475
            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 476
            goto 5
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
         4: pop
         5: .line 480
      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 481
            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 482
            aload 1 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.buffer:()Lsun/nio/fs/NativeBuffer;
            invokevirtual sun.nio.fs.NativeBuffer.free:()V
         8: .line 483
            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 490
            iconst_0
            iconst_0
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CreateEvent:(ZZ)J
            lstore 3 /* hEvent */
        start local 3 // long hEvent
         1: .line 491
            getstatic sun.nio.fs.WindowsWatchService$Poller.UNSAFE:Ljdk/internal/misc/Unsafe;
            lload 1 /* ov */
            getstatic sun.nio.fs.WindowsWatchService$Poller.OFFSETOF_HEVENT:S
            i2l
            ladd
            lload 3 /* hEvent */
            invokevirtual jdk.internal.misc.Unsafe.putAddress:(JJ)V
         2: .line 492
            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 499
            getstatic sun.nio.fs.WindowsWatchService$Poller.UNSAFE:Ljdk/internal/misc/Unsafe;
            lload 1 /* ov */
            getstatic sun.nio.fs.WindowsWatchService$Poller.OFFSETOF_HEVENT:S
            i2l
            ladd
            invokevirtual jdk.internal.misc.Unsafe.getAddress:(J)J
            lstore 3 /* hEvent */
        start local 3 // long hEvent
         1: .line 500
            lload 3 /* hEvent */
            lconst_0
            lcmp
            ifeq 3
            lload 3 /* hEvent */
            ldc -1
            lcmp
            ifeq 3
         2: .line 501
            lload 3 /* hEvent */
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
         3: .line 502
      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 507
            aload 1 /* obj */
            checkcast sun.nio.fs.WindowsWatchService$WindowsWatchKey
            astore 2 /* key */
        start local 2 // sun.nio.fs.WindowsWatchService$WindowsWatchKey key
         1: .line 508
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.isValid:()Z
            ifeq 5
         2: .line 509
            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 510
            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 511
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.invalidate:()V
         5: .line 513
      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 519
            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 521
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.fk2key:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         2: .line 522
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.ck2key:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         3: .line 525
            aload 0 /* this */
            getfield sun.nio.fs.WindowsWatchService$Poller.port:J
            invokestatic sun.nio.fs.WindowsNativeDispatcher.CloseHandle:(J)V
         4: .line 526
            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 530
            iload 1 /* action */
            tableswitch { // 1 - 5
                    1: 2
                    2: 3
                    3: 1
                    4: 3
                    5: 2
              default: 4
          }
         1: .line 532
      StackMap locals:
      StackMap stack:
            getstatic java.nio.file.StandardWatchEventKinds.ENTRY_MODIFY:Ljava/nio/file/WatchEvent$Kind;
            areturn
         2: .line 536
      StackMap locals:
      StackMap stack:
            getstatic java.nio.file.StandardWatchEventKinds.ENTRY_CREATE:Ljava/nio/file/WatchEvent$Kind;
            areturn
         3: .line 540
      StackMap locals:
      StackMap stack:
            getstatic java.nio.file.StandardWatchEventKinds.ENTRY_DELETE:Ljava/nio/file/WatchEvent$Kind;
            areturn
         4: .line 543
      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 549
            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 553
      StackMap locals: long
      StackMap stack:
            getstatic sun.nio.fs.WindowsWatchService$Poller.UNSAFE:Ljdk/internal/misc/Unsafe;
            lload 3 /* address */
            ldc 4
            ladd
            invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
            istore 6 /* action */
        start local 6 // int action
         2: .line 556
            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 557
            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 559
            getstatic sun.nio.fs.WindowsWatchService$Poller.UNSAFE:Ljdk/internal/misc/Unsafe;
            lload 3 /* address */
            ldc 8
            ladd
            invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
            istore 8 /* nameLengthInBytes */
        start local 8 // int nameLengthInBytes
         5: .line 560
            iload 8 /* nameLengthInBytes */
            iconst_2
            irem
            ifeq 7
         6: .line 561
            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 563
      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 564
            getstatic sun.nio.fs.WindowsWatchService$Poller.UNSAFE:Ljdk/internal/misc/Unsafe;
            aconst_null
            lload 3 /* address */
            ldc 12
            ladd
            aload 9 /* nameAsArray */
         9: .line 565
            getstatic jdk.internal.misc.Unsafe.ARRAY_CHAR_BASE_OFFSET:I
            i2l
            iload 8 /* nameLengthInBytes */
            i2l
        10: .line 564
            invokevirtual jdk.internal.misc.Unsafe.copyMemory:(Ljava/lang/Object;JLjava/lang/Object;JJ)V
        11: .line 569
            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 568
            astore 10 /* name */
        start local 10 // sun.nio.fs.WindowsPath name
        13: .line 570
            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 574
      StackMap locals:
      StackMap stack:
            getstatic sun.nio.fs.WindowsWatchService$Poller.UNSAFE:Ljdk/internal/misc/Unsafe;
            lload 3 /* address */
            lconst_0
            ladd
            invokevirtual jdk.internal.misc.Unsafe.getInt:(J)I
            istore 5 /* nextOffset */
        start local 5 // int nextOffset
        15: .line 575
            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 576
            iload 5 /* nextOffset */
            ifne 1
        17: .line 577
            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 587
      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 588
            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 590
            aload 2 /* x */
            invokevirtual sun.nio.fs.WindowsException.printStackTrace:()V
         4: .line 591
            return
        end local 2 // sun.nio.fs.WindowsException x
        start local 1 // sun.nio.fs.WindowsNativeDispatcher$CompletionStatus info
         5: .line 595
      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 596
            aload 0 /* this */
            invokevirtual sun.nio.fs.WindowsWatchService$Poller.processRequests:()Z
            istore 2 /* shutdown */
        start local 2 // boolean shutdown
         7: .line 597
            iload 2 /* shutdown */
            ifeq 0
         8: .line 598
            return
        end local 2 // boolean shutdown
         9: .line 604
      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 605
            aload 2 /* key */
            ifnonnull 12
        11: .line 609
            goto 0
        12: .line 612
      StackMap locals: sun.nio.fs.WindowsWatchService$WindowsWatchKey
      StackMap stack:
            iconst_0
            istore 3 /* criticalError */
        start local 3 // boolean criticalError
        13: .line 613
            aload 1 /* info */
            invokevirtual sun.nio.fs.WindowsNativeDispatcher$CompletionStatus.error:()I
            istore 4 /* errorCode */
        start local 4 // int errorCode
        14: .line 614
            aload 1 /* info */
            invokevirtual sun.nio.fs.WindowsNativeDispatcher$CompletionStatus.bytesTransferred:()I
            istore 5 /* messageSize */
        start local 5 // int messageSize
        15: .line 615
            iload 4 /* errorCode */
            sipush 1022
            if_icmpne 18
        16: .line 617
            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 618
            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 620
            iconst_1
            istore 3 /* criticalError */
        20: .line 621
            goto 38
        21: .line 626
      StackMap locals:
      StackMap stack:
            iload 5 /* messageSize */
            ifle 24
        22: .line 628
            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 629
            goto 26
      StackMap locals:
      StackMap stack:
        24: iload 4 /* errorCode */
            ifne 26
        25: .line 632
            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 637
      StackMap locals:
      StackMap stack:
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.handle:()J
        27: .line 638
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.buffer:()Lsun/nio/fs/NativeBuffer;
            invokevirtual sun.nio.fs.NativeBuffer.address:()J
        28: .line 639
            sipush 16384
        29: .line 640
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.watchSubtree:()Z
        30: .line 641
            sipush 351
        31: .line 642
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.countAddress:()J
        32: .line 643
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.overlappedAddress:()J
        33: .line 637
            invokestatic sun.nio.fs.WindowsNativeDispatcher.ReadDirectoryChangesW:(JJIZIJJ)V
        34: .line 644
            goto 38
      StackMap locals:
      StackMap stack: sun.nio.fs.WindowsException
        35: pop
        36: .line 646
            iconst_1
            istore 3 /* criticalError */
        37: .line 647
            aload 2 /* key */
            iconst_1
            invokevirtual sun.nio.fs.WindowsWatchService$WindowsWatchKey.setErrorStartingOverlapped:(Z)V
        38: .line 650
      StackMap locals:
      StackMap stack:
            iload 3 /* criticalError */
            ifeq 0
        39: .line 651
            aload 0 /* this */
            aload 2 /* key */
            invokevirtual sun.nio.fs.WindowsWatchService$Poller.implCancelKey:(Ljava/nio/file/WatchKey;)V
        40: .line 652
            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 584
            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
  public final InternalOption = sun.nio.fs.ExtendedOptions$InternalOption of sun.nio.fs.ExtendedOptions
  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