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 494
            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 496
            aload 0 /* this */
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            putfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._keys:Ljava/util/Set;
         2: .line 497
            aload 0 /* this */
            invokestatic java.util.Collections.emptyIterator:()Ljava/util/Iterator;
            putfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._cursor:Ljava/util/Iterator;
         3: .line 494
            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 504
      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 505
            aload 1 /* task */
            ifnull 3
         2: .line 506
            aload 1 /* task */
            areturn
         3: .line 508
      StackMap locals: java.lang.Runnable
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.ManagedSelector$SelectorProducer.processUpdates:()V
         4: .line 510
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.ManagedSelector$SelectorProducer.updateKeys:()V
         5: .line 512
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.io.ManagedSelector$SelectorProducer.select:()Z
            ifne 0
         6: .line 513
            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=4, locals=6, args_size=1
        start local 0 // org.eclipse.jetty.io.ManagedSelector$SelectorProducer this
         0: .line 519
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            getfield org.eclipse.jetty.io.ManagedSelector._lock:Lorg/eclipse/jetty/util/thread/AutoLock;
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
            astore 3 /* l */
        start local 3 // org.eclipse.jetty.util.thread.AutoLock l
         2: .line 521
            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 4 /* updates */
        start local 4 // java.util.Deque updates
         3: .line 522
            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;
         4: .line 523
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            aload 4 /* updates */
            putfield org.eclipse.jetty.io.ManagedSelector._updateable:Ljava/util/Deque;
        end local 4 // java.util.Deque updates
         5: .line 524
            aload 3 /* l */
            ifnull 11
            aload 3 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
            goto 11
      StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack: java.lang.Throwable
         6: astore 1
            aload 3 /* l */
            ifnull 7
            aload 3 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        end local 3 // org.eclipse.jetty.util.thread.AutoLock l
      StackMap locals:
      StackMap stack:
         7: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 2
            aload 1
            ifnonnull 9
            aload 2
            astore 1
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 1
            aload 2
            if_acmpeq 10
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 1
            athrow
        11: .line 526
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 13
        12: .line 527
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/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
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        13: .line 529
      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 23
      StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer top java.util.Iterator
      StackMap stack:
        14: 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
        15: .line 531
            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 17
        16: .line 532
            goto 24
        17: .line 535
      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/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 19
        18: .line 536
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
            ldc "update {}"
            aload 1 /* update */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        19: .line 537
      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
        20: .line 538
            goto 23
        21: .line 539
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* x */
        start local 3 // java.lang.Throwable x
        22: .line 541
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
            ldc "Cannot update selector {}"
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            aload 3 /* x */
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 3 // java.lang.Throwable x
        end local 1 // org.eclipse.jetty.io.ManagedSelector$SelectorUpdate update
        23: .line 529
      StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        24: .line 544
      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
        25: .line 548
            aconst_null
            astore 3
            aconst_null
            astore 4
        26: aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            getfield org.eclipse.jetty.io.ManagedSelector._lock:Lorg/eclipse/jetty/util/thread/AutoLock;
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
            astore 5 /* l */
        start local 5 // org.eclipse.jetty.util.thread.AutoLock l
        27: .line 550
            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
        28: .line 551
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            iload 2 /* updates */
            ifne 29
            iconst_1
            goto 30
      StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer top int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack: org.eclipse.jetty.io.ManagedSelector
        29: iconst_0
      StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer top int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack: org.eclipse.jetty.io.ManagedSelector int
        30: putfield org.eclipse.jetty.io.ManagedSelector._selecting:Z
        31: .line 552
            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 32
            aconst_null
            goto 33
      StackMap locals:
      StackMap stack:
        32: 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
        33: astore 1 /* selector */
        start local 1 // java.nio.channels.Selector selector
        34: .line 553
            aload 5 /* l */
            ifnull 40
            aload 5 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
            goto 40
        end local 2 // int updates
        end local 1 // java.nio.channels.Selector selector
      StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer top top java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack: java.lang.Throwable
        35: astore 3
            aload 5 /* l */
            ifnull 36
            aload 5 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        end local 5 // org.eclipse.jetty.util.thread.AutoLock l
      StackMap locals:
      StackMap stack:
        36: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        37: astore 4
            aload 3
            ifnonnull 38
            aload 4
            astore 3
            goto 39
      StackMap locals:
      StackMap stack:
        38: aload 3
            aload 4
            if_acmpeq 39
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        39: aload 3
            athrow
        start local 1 // java.nio.channels.Selector selector
        start local 2 // int updates
        40: .line 555
      StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer java.nio.channels.Selector int
      StackMap stack:
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 42
        41: .line 556
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
            ldc "updates {}"
            iload 2 /* updates */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        42: .line 558
      StackMap locals:
      StackMap stack:
            aload 1 /* selector */
            ifnull 46
        43: .line 560
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 45
        44: .line 561
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
            ldc "wakeup on updates {}"
            aload 0 /* this */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        45: .line 562
      StackMap locals:
      StackMap stack:
            aload 1 /* selector */
            invokevirtual java.nio.channels.Selector.wakeup:()Ljava/nio/channels/Selector;
            pop
        46: .line 564
      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   47     0      this  Lorg/eclipse/jetty/io/ManagedSelector$SelectorProducer;
            2    7     3         l  Lorg/eclipse/jetty/util/thread/AutoLock;
            3    5     4   updates  Ljava/util/Deque<Lorg/eclipse/jetty/io/ManagedSelector$SelectorUpdate;>;
           15   23     1    update  Lorg/eclipse/jetty/io/ManagedSelector$SelectorUpdate;
           22   23     3         x  Ljava/lang/Throwable;
           34   35     1  selector  Ljava/nio/channels/Selector;
           40   47     1  selector  Ljava/nio/channels/Selector;
           28   35     2   updates  I
           40   47     2   updates  I
           27   36     5         l  Lorg/eclipse/jetty/util/thread/AutoLock;
      Exception table:
        from    to  target  type
           2     5       6  any
           1     8       8  any
          17    20      21  Class java.lang.Throwable
          27    34      35  any
          26    37      37  any

  private boolean select();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, 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.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 571
            aload 1 /* selector */
            ifnull 36
         2: .line 573
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 4
         3: .line 574
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
            ldc "Selector {} waiting with {} keys"
            aload 1 /* selector */
            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;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 575
      StackMap locals: java.nio.channels.Selector
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            aload 1 /* selector */
            invokevirtual org.eclipse.jetty.io.ManagedSelector.select:(Ljava/nio/channels/Selector;)I
            istore 2 /* selected */
        start local 2 // int selected
         5: .line 577
            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 */
         6: .line 578
            aload 1 /* selector */
            ifnull 36
         7: .line 580
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 9
         8: .line 581
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/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.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         9: .line 584
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 4
            aconst_null
            astore 5
        10: aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            getfield org.eclipse.jetty.io.ManagedSelector._lock:Lorg/eclipse/jetty/util/thread/AutoLock;
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
            astore 6 /* l */
        start local 6 // org.eclipse.jetty.util.thread.AutoLock l
        11: .line 587
            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
        12: .line 588
            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
        13: .line 589
            aload 6 /* l */
            ifnull 19
            aload 6 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
            goto 19
        end local 3 // int updates
      StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer java.nio.channels.Selector int top java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack: java.lang.Throwable
        14: astore 4
            aload 6 /* l */
            ifnull 15
            aload 6 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        end local 6 // org.eclipse.jetty.util.thread.AutoLock l
      StackMap locals:
      StackMap stack:
        15: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: astore 5
            aload 4
            ifnonnull 17
            aload 5
            astore 4
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 4
            aload 5
            if_acmpeq 18
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        18: aload 4
            athrow
        start local 3 // int updates
        19: .line 591
      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;
        20: .line 592
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._keys:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 21
            invokestatic java.util.Collections.emptyIterator:()Ljava/util/Iterator;
            goto 22
      StackMap locals:
      StackMap stack: org.eclipse.jetty.io.ManagedSelector$SelectorProducer
        21: 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
        22: putfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._cursor:Ljava/util/Iterator;
        23: .line 593
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 25
        24: .line 594
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/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.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        25: .line 596
      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
        26: .line 600
      StackMap locals: org.eclipse.jetty.io.ManagedSelector$SelectorProducer
      StackMap stack: java.lang.Throwable
            astore 1 /* x */
        start local 1 // java.lang.Throwable x
        27: .line 602
            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.util.IO.close:(Ljava/io/Closeable;)V
        28: .line 603
            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;
        29: .line 605
            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 33
        30: .line 607
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
            ldc "Fatal select() failure"
            aload 1 /* x */
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
        31: .line 608
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer.this$0:Lorg/eclipse/jetty/io/ManagedSelector;
            aload 1 /* x */
            invokevirtual org.eclipse.jetty.io.ManagedSelector.onSelectFailed:(Ljava/lang/Throwable;)V
        32: .line 609
            goto 36
        33: .line 612
      StackMap locals: java.lang.Throwable
      StackMap stack:
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 35
        34: .line 613
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
            ldc "select() failure"
            aload 1 /* x */
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
            goto 36
        35: .line 615
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
            ldc "select() failure {}"
            aload 1 /* x */
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 1 // java.lang.Throwable x
        36: .line 618
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.eclipse.jetty.io.ManagedSelector$SelectorProducer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   37     0      this  Lorg/eclipse/jetty/io/ManagedSelector$SelectorProducer;
            1   26     1  selector  Ljava/nio/channels/Selector;
            5   26     2  selected  I
           13   14     3   updates  I
           19   26     3   updates  I
           11   15     6         l  Lorg/eclipse/jetty/util/thread/AutoLock;
           27   36     1         x  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          11    13      14  any
          10    16      16  any
           0    25      26  Class java.lang.Throwable

  private java.lang.Runnable processSelected();
    descriptor: ()Ljava/lang/Runnable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // org.eclipse.jetty.io.ManagedSelector$SelectorProducer this
         0: .line 623
            goto 33
         1: .line 625
      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 626
            aload 1 /* key */
            invokevirtual java.nio.channels.SelectionKey.attachment:()Ljava/lang/Object;
            astore 2 /* attachment */
        start local 2 // java.lang.Object attachment
         3: .line 627
            aload 1 /* key */
            invokevirtual java.nio.channels.SelectionKey.channel:()Ljava/nio/channels/SelectableChannel;
            astore 3 /* channel */
        start local 3 // java.nio.channels.SelectableChannel channel
         4: .line 628
            aload 1 /* key */
            invokevirtual java.nio.channels.SelectionKey.isValid:()Z
            ifeq 28
         5: .line 630
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 7
         6: .line 631
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/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.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         7: .line 634
      StackMap locals: java.nio.channels.SelectionKey java.lang.Object java.nio.channels.SelectableChannel
      StackMap stack:
            aload 2 /* attachment */
            instanceof org.eclipse.jetty.io.ManagedSelector$Selectable
            ifeq 12
         8: .line 637
            aload 2 /* attachment */
            checkcast org.eclipse.jetty.io.ManagedSelector$Selectable
            invokeinterface org.eclipse.jetty.io.ManagedSelector$Selectable.onSelected:()Ljava/lang/Runnable;
            astore 4 /* task */
        start local 4 // java.lang.Runnable task
         9: .line 638
            aload 4 /* task */
            ifnull 33
        10: .line 639
            aload 4 /* task */
        11: areturn
        end local 4 // java.lang.Runnable task
        12: .line 641
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            invokevirtual java.nio.channels.SelectionKey.isConnectable:()Z
            ifeq 15
        13: .line 643
            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
        14: .line 644
            goto 33
        15: .line 647
      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
        16: .line 650
      StackMap locals:
      StackMap stack: java.nio.channels.CancelledKeyException
            pop
        17: .line 652
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 19
        18: .line 653
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
            ldc "Ignoring cancelled key for channel {}"
            aload 3 /* channel */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        19: .line 654
      StackMap locals:
      StackMap stack:
            aload 2 /* attachment */
            instanceof org.eclipse.jetty.io.EndPoint
            ifeq 20
            aload 2 /* attachment */
            checkcast org.eclipse.jetty.io.EndPoint
            goto 21
      StackMap locals:
      StackMap stack:
        20: aload 3 /* channel */
      StackMap locals:
      StackMap stack: java.io.Closeable
        21: invokestatic org.eclipse.jetty.util.IO.close:(Ljava/io/Closeable;)V
            goto 33
        22: .line 656
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4 /* x */
        start local 4 // java.lang.Throwable x
        23: .line 658
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
            ldc "Could not process key for channel {}"
            aload 3 /* channel */
            aload 4 /* x */
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        24: .line 659
            aload 2 /* attachment */
            instanceof org.eclipse.jetty.io.EndPoint
            ifeq 25
            aload 2 /* attachment */
            checkcast org.eclipse.jetty.io.EndPoint
            goto 26
      StackMap locals: java.lang.Throwable
      StackMap stack:
        25: aload 3 /* channel */
      StackMap locals:
      StackMap stack: java.io.Closeable
        26: invokestatic org.eclipse.jetty.util.IO.close:(Ljava/io/Closeable;)V
        end local 4 // java.lang.Throwable x
        27: .line 661
            goto 33
        28: .line 664
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 30
        29: .line 665
            getstatic org.eclipse.jetty.io.ManagedSelector.LOG:Lorg/slf4j/Logger;
            ldc "Selector loop ignoring invalid key for channel {}"
            aload 3 /* channel */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        30: .line 666
      StackMap locals:
      StackMap stack:
            aload 2 /* attachment */
            instanceof org.eclipse.jetty.io.EndPoint
            ifeq 31
            aload 2 /* attachment */
            checkcast org.eclipse.jetty.io.EndPoint
            goto 32
      StackMap locals:
      StackMap stack:
        31: aload 3 /* channel */
      StackMap locals:
      StackMap stack: java.io.Closeable
        32: invokestatic org.eclipse.jetty.util.IO.close:(Ljava/io/Closeable;)V
        end local 3 // java.nio.channels.SelectableChannel channel
        end local 2 // java.lang.Object attachment
        end local 1 // java.nio.channels.SelectionKey key
        33: .line 623
      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
        34: .line 669
            aconst_null
            areturn
        end local 0 // org.eclipse.jetty.io.ManagedSelector$SelectorProducer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   35     0        this  Lorg/eclipse/jetty/io/ManagedSelector$SelectorProducer;
            2   33     1         key  Ljava/nio/channels/SelectionKey;
            3   33     2  attachment  Ljava/lang/Object;
            4   33     3     channel  Ljava/nio/channels/SelectableChannel;
            9   12     4        task  Ljava/lang/Runnable;
           23   27     4           x  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           7    11      16  Class java.nio.channels.CancelledKeyException
          12    16      16  Class java.nio.channels.CancelledKeyException
           7    11      22  Class java.lang.Throwable
          12    16      22  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 677
            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 679
            aload 1 /* key */
            invokevirtual java.nio.channels.SelectionKey.attachment:()Ljava/lang/Object;
            astore 3 /* attachment */
        start local 3 // java.lang.Object attachment
         3: .line 680
            aload 3 /* attachment */
            instanceof org.eclipse.jetty.io.ManagedSelector$Selectable
            ifeq 5
         4: .line 681
            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 677
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         6: .line 683
            aload 0 /* this */
            getfield org.eclipse.jetty.io.ManagedSelector$SelectorProducer._keys:Ljava/util/Set;
            invokeinterface java.util.Set.clear:()V
         7: .line 684
            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 689
            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