class org.eclipse.jetty.io.ManagedSelector$SelectorProducer implements org.eclipse.jetty.util.thread.ExecutionStrategy$Producer
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.eclipse.jetty.io.ManagedSelector$SelectorProducer
  super_class: java.lang.Object
{
  private java.util.Set<java.nio.channels.SelectionKey> _keys;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Ljava/nio/channels/SelectionKey;>;

  private java.util.Iterator<java.nio.channels.SelectionKey> _cursor;
    descriptor: Ljava/util/Iterator;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Iterator<Ljava/nio/channels/SelectionKey;>;

  final org.eclipse.jetty.io.ManagedSelector this$0;
    descriptor: Lorg/eclipse/jetty/io/ManagedSelector;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(org.eclipse.jetty.io.ManagedSelector);
    descriptor: (Lorg/eclipse/jetty/io/ManagedSelector;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jetty.io.ManagedSelector$SelectorProducer this
         0: .line 385
            aload 0 /* this */
            aload 1
            putfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 387
            aload 0 /* this */
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            putfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._keys:Ljava/util/Set;
         2: .line 388
            aload 0 /* this */
            invokestatic java.util.Collections.emptyIterator:()Ljava/util/Iterator;
            putfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._cursor:Ljava/util/Iterator;
         3: .line 385
            return
        end local 0 // org.eclipse.jetty.io.ManagedSelector$SelectorProducer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jetty/io/ManagedSelector$SelectorProducer;
    MethodParameters:
        Name  Flags
      this$0  final

  public java.lang.Runnable produce();
    descriptor: ()Ljava/lang/Runnable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.eclipse.jetty.io.ManagedSelector$SelectorProducer this
         0: .line 395
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.ManagedSelector$SelectorProducer.processSelected:()Ljava/lang/Runnable;
            astore 1 /* task */
        start local 1 // java.lang.Runnable task
         1: .line 396
            aload 1 /* task */
            ifnull 3
         2: .line 397
            aload 1 /* task */
            areturn
         3: .line 399
      StackMap locals: java.lang.Runnable
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.ManagedSelector$SelectorProducer.processUpdates:()V
         4: .line 401
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.ManagedSelector$SelectorProducer.updateKeys:()V
         5: .line 403
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.ManagedSelector$SelectorProducer.select:()Z
            ifne 0
         6: .line 404
            aconst_null
            areturn
        end local 1 // java.lang.Runnable task
        end local 0 // org.eclipse.jetty.io.ManagedSelector$SelectorProducer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/eclipse/jetty/io/ManagedSelector$SelectorProducer;
            1    7     1  task  Ljava/lang/Runnable;

  private void processUpdates();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // org.eclipse.jetty.io.ManagedSelector$SelectorProducer this
         0: .line 410
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            dup
            astore 1
            monitorenter
         1: .line 412
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            getfield org.eclipse.jetty.io.ManagedSelector._updates:Ljava/util/Deque;
            astore 2 /* updates */
        start local 2 // java.util.Deque updates
         2: .line 413
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            getfield org.eclipse.jetty.io.ManagedSelector._updateable:Ljava/util/Deque;
            putfield org.eclipse.jetty.io.ManagedSelector._updates:Ljava/util/Deque;
         3: .line 414
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            aload 2 /* updates */
            putfield org.eclipse.jetty.io.ManagedSelector._updateable:Ljava/util/Deque;
        end local 2 // java.util.Deque updates
         4: .line 410
            aload 1
            monitorexit
         5: goto 8
      StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer org.eclipse.jetty.io.ManagedSelector
      StackMap stack: java.lang.Throwable
         6: aload 1
            monitorexit
         7: athrow
         8: .line 417
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
            ifeq 10
         9: .line 418
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            ldc "updateable {}"
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            getfield org.eclipse.jetty.io.ManagedSelector._updateable:Ljava/util/Deque;
            invokeinterface java.util.Deque.size:()I
            i2l
            invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;J)V
        10: .line 420
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            getfield org.eclipse.jetty.io.ManagedSelector._updateable:Ljava/util/Deque;
            invokeinterface java.util.Deque.iterator:()Ljava/util/Iterator;
            astore 2
            goto 20
      StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer top java.util.Iterator
      StackMap stack:
        11: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jetty.io.ManagedSelector$SelectorUpdate
            astore 1 /* update */
        start local 1 // org.eclipse.jetty.io.ManagedSelector$SelectorUpdate update
        12: .line 422
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            getfield org.eclipse.jetty.io.ManagedSelector._selector:Ljava/nio/channels/Selector;
            ifnonnull 14
        13: .line 423
            goto 21
        14: .line 426
      StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer org.eclipse.jetty.io.ManagedSelector$SelectorUpdate java.util.Iterator
      StackMap stack:
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
            ifeq 16
        15: .line 427
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            ldc "update {}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* update */
            aastore
            invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        16: .line 428
      StackMap locals:
      StackMap stack:
            aload 1 /* update */
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            getfield org.eclipse.jetty.io.ManagedSelector._selector:Ljava/nio/channels/Selector;
            invokeinterface org.eclipse.jetty.io.ManagedSelector$SelectorUpdate.update:(Ljava/nio/channels/Selector;)V
        17: .line 429
            goto 20
        18: .line 430
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* th */
        start local 3 // java.lang.Throwable th
        19: .line 432
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            aload 3 /* th */
            invokeinterface org.eclipse.jetty.util.log.Logger.warn:(Ljava/lang/Throwable;)V
        end local 3 // java.lang.Throwable th
        end local 1 // org.eclipse.jetty.io.ManagedSelector$SelectorUpdate update
        20: .line 420
      StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        21: .line 435
      StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            getfield org.eclipse.jetty.io.ManagedSelector._updateable:Ljava/util/Deque;
            invokeinterface java.util.Deque.clear:()V
        22: .line 439
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            dup
            astore 3
            monitorenter
        23: .line 441
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            getfield org.eclipse.jetty.io.ManagedSelector._updates:Ljava/util/Deque;
            invokeinterface java.util.Deque.size:()I
            istore 2 /* updates */
        start local 2 // int updates
        24: .line 442
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            iload 2 /* updates */
            ifne 25
            iconst_1
            goto 26
      StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer top int org.eclipse.jetty.io.ManagedSelector
      StackMap stack: org.eclipse.jetty.io.ManagedSelector
        25: iconst_0
      StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer top int org.eclipse.jetty.io.ManagedSelector
      StackMap stack: org.eclipse.jetty.io.ManagedSelector int
        26: putfield org.eclipse.jetty.io.ManagedSelector._selecting:Z
        27: .line 443
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            getfield org.eclipse.jetty.io.ManagedSelector._selecting:Z
            ifeq 28
            aconst_null
            goto 29
      StackMap locals:
      StackMap stack:
        28: aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            getfield org.eclipse.jetty.io.ManagedSelector._selector:Ljava/nio/channels/Selector;
      StackMap locals:
      StackMap stack: java.nio.channels.Selector
        29: astore 1 /* selector */
        start local 1 // java.nio.channels.Selector selector
        30: .line 439
            aload 3
            monitorexit
        31: goto 34
        end local 2 // int updates
        end local 1 // java.nio.channels.Selector selector
      StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer top top org.eclipse.jetty.io.ManagedSelector
      StackMap stack: java.lang.Throwable
        32: aload 3
            monitorexit
        33: athrow
        start local 1 // java.nio.channels.Selector selector
        start local 2 // int updates
        34: .line 446
      StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer java.nio.channels.Selector int
      StackMap stack:
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
            ifeq 36
        35: .line 447
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            ldc "updates {}"
            iload 2 /* updates */
            i2l
            invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;J)V
        36: .line 449
      StackMap locals:
      StackMap stack:
            aload 1 /* selector */
            ifnull 40
        37: .line 451
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
            ifeq 39
        38: .line 452
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            ldc "wakeup on updates {}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aastore
            invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        39: .line 453
      StackMap locals:
      StackMap stack:
            aload 1 /* selector */
            invokevirtual java.nio.channels.Selector.wakeup:()Ljava/nio/channels/Selector;
            pop
        40: .line 455
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int updates
        end local 1 // java.nio.channels.Selector selector
        end local 0 // org.eclipse.jetty.io.ManagedSelector$SelectorProducer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   41     0      this  Lorg/eclipse/jetty/io/ManagedSelector$SelectorProducer;
            2    4     2   updates  Ljava/util/Deque<Lorg/eclipse/jetty/io/ManagedSelector$SelectorUpdate;>;
           12   20     1    update  Lorg/eclipse/jetty/io/ManagedSelector$SelectorUpdate;
           19   20     3        th  Ljava/lang/Throwable;
           30   32     1  selector  Ljava/nio/channels/Selector;
           34   41     1  selector  Ljava/nio/channels/Selector;
           24   32     2   updates  I
           34   41     2   updates  I
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
          14    17      18  Class java.lang.Throwable
          23    31      32  any
          32    33      32  any

  private boolean select();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // org.eclipse.jetty.io.ManagedSelector$SelectorProducer this
         0: .line 461
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            getfield org.eclipse.jetty.io.ManagedSelector._selector:Ljava/nio/channels/Selector;
            astore 1 /* selector */
        start local 1 // java.nio.channels.Selector selector
         1: .line 462
            aload 1 /* selector */
            ifnull 35
            aload 1 /* selector */
            invokevirtual java.nio.channels.Selector.isOpen:()Z
            ifeq 35
         2: .line 464
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
            ifeq 4
         3: .line 465
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            ldc "Selector {} waiting with {} keys"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* selector */
            aastore
            dup
            iconst_1
            aload 1 /* selector */
            invokevirtual java.nio.channels.Selector.keys:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 466
      StackMap locals: java.nio.channels.Selector
      StackMap stack:
            aload 1 /* selector */
            invokevirtual java.nio.channels.Selector.select:()I
            istore 2 /* selected */
        start local 2 // int selected
         5: .line 467
            iload 2 /* selected */
            ifne 12
         6: .line 469
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
            ifeq 8
         7: .line 470
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            ldc "Selector {} woken with none selected"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* selector */
            aastore
            invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         8: .line 472
      StackMap locals: int
      StackMap stack:
            invokestatic java.lang.Thread.interrupted:()Z
            ifeq 10
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            invokevirtual org.eclipse.jetty.io.ManagedSelector.isRunning:()Z
            ifne 10
         9: .line 473
            new java.nio.channels.ClosedSelectorException
            dup
            invokespecial java.nio.channels.ClosedSelectorException.<init>:()V
            athrow
        10: .line 475
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jetty.io.ManagedSelector.FORCE_SELECT_NOW:Z
            ifeq 12
        11: .line 476
            aload 1 /* selector */
            invokevirtual java.nio.channels.Selector.selectNow:()I
            istore 2 /* selected */
        12: .line 478
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
            ifeq 14
        13: .line 479
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            ldc "Selector {} woken up from select, {}/{}/{} selected"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* selector */
            aastore
            dup
            iconst_1
            iload 2 /* selected */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 1 /* selector */
            invokevirtual java.nio.channels.Selector.selectedKeys:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            aload 1 /* selector */
            invokevirtual java.nio.channels.Selector.keys:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        14: .line 482
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            dup
            astore 4
            monitorenter
        15: .line 485
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            iconst_0
            putfield org.eclipse.jetty.io.ManagedSelector._selecting:Z
        16: .line 486
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            getfield org.eclipse.jetty.io.ManagedSelector._updates:Ljava/util/Deque;
            invokeinterface java.util.Deque.size:()I
            istore 3 /* updates */
        start local 3 // int updates
        17: .line 482
            aload 4
            monitorexit
        18: goto 21
        end local 3 // int updates
      StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer java.nio.channels.Selector int top org.eclipse.jetty.io.ManagedSelector
      StackMap stack: java.lang.Throwable
        19: aload 4
            monitorexit
        20: athrow
        start local 3 // int updates
        21: .line 489
      StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer java.nio.channels.Selector int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* selector */
            invokevirtual java.nio.channels.Selector.selectedKeys:()Ljava/util/Set;
            putfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._keys:Ljava/util/Set;
        22: .line 490
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._keys:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 23
            invokestatic java.util.Collections.emptyIterator:()Ljava/util/Iterator;
            goto 24
      StackMap locals:
      StackMap stack: org.eclipse.jetty.io.ManagedSelector$SelectorProducer
        23: aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._keys:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
      StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer java.nio.channels.Selector int int
      StackMap stack: org.eclipse.jetty.io.ManagedSelector$SelectorProducer java.util.Iterator
        24: putfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._cursor:Ljava/util/Iterator;
        25: .line 491
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
            ifeq 27
        26: .line 492
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            ldc "Selector {} processing {} keys, {} updates"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* selector */
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._keys:Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 3 /* updates */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        27: .line 494
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // int updates
        end local 2 // int selected
        end local 1 // java.nio.channels.Selector selector
        28: .line 497
      StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer
      StackMap stack: java.lang.Throwable
            astore 1 /* x */
        start local 1 // java.lang.Throwable x
        29: .line 499
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            aconst_null
            putfield org.eclipse.jetty.io.ManagedSelector._selector:Ljava/nio/channels/Selector;
        30: .line 500
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            invokevirtual org.eclipse.jetty.io.ManagedSelector.isRunning:()Z
            ifeq 32
        31: .line 501
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            aload 1 /* x */
            invokeinterface org.eclipse.jetty.util.log.Logger.warn:(Ljava/lang/Throwable;)V
            goto 34
        32: .line 504
      StackMap locals: java.lang.Throwable
      StackMap stack:
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            aload 1 /* x */
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokeinterface org.eclipse.jetty.util.log.Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
        33: .line 505
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            aload 1 /* x */
            invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/Throwable;)V
        34: .line 507
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            getfield org.eclipse.jetty.io.ManagedSelector._selector:Ljava/nio/channels/Selector;
            invokestatic org.eclipse.jetty.io.ManagedSelector.closeNoExceptions:(Ljava/io/Closeable;)V
        end local 1 // java.lang.Throwable x
        35: .line 509
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.eclipse.jetty.io.ManagedSelector$SelectorProducer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   36     0      this  Lorg/eclipse/jetty/io/ManagedSelector$SelectorProducer;
            1   28     1  selector  Ljava/nio/channels/Selector;
            5   28     2  selected  I
           17   19     3   updates  I
           21   28     3   updates  I
           29   35     1         x  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          15    18      19  any
          19    20      19  any
           0    27      28  Class java.lang.Throwable

  private java.lang.Runnable processSelected();
    descriptor: ()Ljava/lang/Runnable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // org.eclipse.jetty.io.ManagedSelector$SelectorProducer this
         0: .line 514
            goto 29
         1: .line 516
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._cursor:Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.channels.SelectionKey
            astore 1 /* key */
        start local 1 // java.nio.channels.SelectionKey key
         2: .line 517
            aload 1 /* key */
            invokevirtual java.nio.channels.SelectionKey.isValid:()Z
            ifeq 24
         3: .line 519
            aload 1 /* key */
            invokevirtual java.nio.channels.SelectionKey.attachment:()Ljava/lang/Object;
            astore 2 /* attachment */
        start local 2 // java.lang.Object attachment
         4: .line 520
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
            ifeq 6
         5: .line 521
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            ldc "selected {} {} {} "
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* key */
            invokestatic org.eclipse.jetty.io.ManagedSelector.safeReadyOps:(Ljava/nio/channels/SelectionKey;)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 1 /* key */
            aastore
            dup
            iconst_2
            aload 2 /* attachment */
            aastore
            invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 524
      StackMap locals: java.nio.channels.SelectionKey java.lang.Object
      StackMap stack:
            aload 2 /* attachment */
            instanceof org.eclipse.jetty.io.ManagedSelector$Selectable
            ifeq 11
         7: .line 527
            aload 2 /* attachment */
            checkcast org.eclipse.jetty.io.ManagedSelector$Selectable
            invokeinterface org.eclipse.jetty.io.ManagedSelector$Selectable.onSelected:()Ljava/lang/Runnable;
            astore 3 /* task */
        start local 3 // java.lang.Runnable task
         8: .line 528
            aload 3 /* task */
            ifnull 29
         9: .line 529
            aload 3 /* task */
        10: areturn
        end local 3 // java.lang.Runnable task
        11: .line 531
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            invokevirtual java.nio.channels.SelectionKey.isConnectable:()Z
            ifeq 14
        12: .line 533
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            aload 1 /* key */
            aload 2 /* attachment */
            checkcast org.eclipse.jetty.io.ManagedSelector$Connect
            invokevirtual org.eclipse.jetty.io.ManagedSelector.processConnect:(Ljava/nio/channels/SelectionKey;Lorg/eclipse/jetty/io/ManagedSelector$Connect;)V
        13: .line 534
            goto 29
        14: .line 537
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "key="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", att="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* attachment */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", iOps="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* key */
            invokestatic org.eclipse.jetty.io.ManagedSelector.safeInterestOps:(Ljava/nio/channels/SelectionKey;)I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", rOps="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* key */
            invokestatic org.eclipse.jetty.io.ManagedSelector.safeReadyOps:(Ljava/nio/channels/SelectionKey;)I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 540
      StackMap locals:
      StackMap stack: java.nio.channels.CancelledKeyException
            pop
        16: .line 542
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            ldc "Ignoring cancelled key for channel {}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* key */
            invokevirtual java.nio.channels.SelectionKey.channel:()Ljava/nio/channels/SelectableChannel;
            aastore
            invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        17: .line 543
            aload 2 /* attachment */
            instanceof org.eclipse.jetty.io.EndPoint
            ifeq 29
        18: .line 544
            aload 2 /* attachment */
            checkcast org.eclipse.jetty.io.EndPoint
            invokestatic org.eclipse.jetty.io.ManagedSelector.closeNoExceptions:(Ljava/io/Closeable;)V
            goto 29
        19: .line 546
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* x */
        start local 3 // java.lang.Throwable x
        20: .line 548
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Could not process key for channel "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* key */
            invokevirtual java.nio.channels.SelectionKey.channel:()Ljava/nio/channels/SelectableChannel;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* x */
            invokeinterface org.eclipse.jetty.util.log.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
        21: .line 549
            aload 2 /* attachment */
            instanceof org.eclipse.jetty.io.EndPoint
            ifeq 29
        22: .line 550
            aload 2 /* attachment */
            checkcast org.eclipse.jetty.io.EndPoint
            invokestatic org.eclipse.jetty.io.ManagedSelector.closeNoExceptions:(Ljava/io/Closeable;)V
        end local 3 // java.lang.Throwable x
        end local 2 // java.lang.Object attachment
        23: .line 552
            goto 29
        24: .line 555
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
            ifeq 26
        25: .line 556
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/eclipse/jetty/util/log/Logger;
            ldc "Selector loop ignoring invalid key for channel {}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* key */
            invokevirtual java.nio.channels.SelectionKey.channel:()Ljava/nio/channels/SelectableChannel;
            aastore
            invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        26: .line 557
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            invokevirtual java.nio.channels.SelectionKey.attachment:()Ljava/lang/Object;
            astore 2 /* attachment */
        start local 2 // java.lang.Object attachment
        27: .line 558
            aload 2 /* attachment */
            instanceof org.eclipse.jetty.io.EndPoint
            ifeq 29
        28: .line 559
            aload 2 /* attachment */
            checkcast org.eclipse.jetty.io.EndPoint
            invokestatic org.eclipse.jetty.io.ManagedSelector.closeNoExceptions:(Ljava/io/Closeable;)V
        end local 2 // java.lang.Object attachment
        end local 1 // java.nio.channels.SelectionKey key
        29: .line 514
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._cursor:Ljava/util/Iterator;
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        30: .line 562
            aconst_null
            areturn
        end local 0 // org.eclipse.jetty.io.ManagedSelector$SelectorProducer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   31     0        this  Lorg/eclipse/jetty/io/ManagedSelector$SelectorProducer;
            2   29     1         key  Ljava/nio/channels/SelectionKey;
            4   23     2  attachment  Ljava/lang/Object;
            8   11     3        task  Ljava/lang/Runnable;
           20   23     3           x  Ljava/lang/Throwable;
           27   29     2  attachment  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           6    10      15  Class java.nio.channels.CancelledKeyException
          11    15      15  Class java.nio.channels.CancelledKeyException
           6    10      19  Class java.lang.Throwable
          11    15      19  Class java.lang.Throwable

  private void updateKeys();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=4, args_size=1
        start local 0 // org.eclipse.jetty.io.ManagedSelector$SelectorProducer this
         0: .line 570
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._keys:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 5
      StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.channels.SelectionKey
            astore 1 /* key */
        start local 1 // java.nio.channels.SelectionKey key
         2: .line 572
            aload 1 /* key */
            invokevirtual java.nio.channels.SelectionKey.attachment:()Ljava/lang/Object;
            astore 3 /* attachment */
        start local 3 // java.lang.Object attachment
         3: .line 573
            aload 3 /* attachment */
            instanceof org.eclipse.jetty.io.ManagedSelector$Selectable
            ifeq 5
         4: .line 574
            aload 3 /* attachment */
            checkcast org.eclipse.jetty.io.ManagedSelector$Selectable
            invokeinterface org.eclipse.jetty.io.ManagedSelector$Selectable.updateKey:()V
        end local 3 // java.lang.Object attachment
        end local 1 // java.nio.channels.SelectionKey key
         5: .line 570
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         6: .line 576
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._keys:Ljava/util/Set;
            invokeinterface java.util.Set.clear:()V
         7: .line 577
            return
        end local 0 // org.eclipse.jetty.io.ManagedSelector$SelectorProducer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/eclipse/jetty/io/ManagedSelector$SelectorProducer;
            2    5     1         key  Ljava/nio/channels/SelectionKey;
            3    5     3  attachment  Ljava/lang/Object;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.io.ManagedSelector$SelectorProducer this
         0: .line 582
            ldc "%s@%x"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokevirtual java.lang.Object.hashCode:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jetty.io.ManagedSelector$SelectorProducer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/io/ManagedSelector$SelectorProducer;
}
SourceFile: "ManagedSelector.java"
NestHost: org.eclipse.jetty.io.ManagedSelector
InnerClasses:
  Connect = org.eclipse.jetty.io.ManagedSelector$Connect of org.eclipse.jetty.io.ManagedSelector
  public abstract Selectable = org.eclipse.jetty.io.ManagedSelector$Selectable of org.eclipse.jetty.io.ManagedSelector
  private SelectorProducer = org.eclipse.jetty.io.ManagedSelector$SelectorProducer of org.eclipse.jetty.io.ManagedSelector
  public abstract SelectorUpdate = org.eclipse.jetty.io.ManagedSelector$SelectorUpdate of org.eclipse.jetty.io.ManagedSelector
  public abstract Producer = org.eclipse.jetty.util.thread.ExecutionStrategy$Producer of org.eclipse.jetty.util.thread.ExecutionStrategy