class org.xnio.ssl.JsseStreamConduit$TaskWrapper implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.xnio.ssl.JsseStreamConduit$TaskWrapper
  super_class: java.lang.Object
{
  private final java.lang.Runnable task;
    descriptor: Ljava/lang/Runnable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final org.xnio.ssl.JsseStreamConduit this$0;
    descriptor: Lorg/xnio/ssl/JsseStreamConduit;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.xnio.ssl.JsseStreamConduit, java.lang.Runnable);
    descriptor: (Lorg/xnio/ssl/JsseStreamConduit;Ljava/lang/Runnable;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.xnio.ssl.JsseStreamConduit$TaskWrapper this
        start local 2 // java.lang.Runnable task
         0: .line 1613
            aload 0 /* this */
            aload 1
            putfield org.xnio.ssl.JsseStreamConduit$TaskWrapper.this$0:Lorg/xnio/ssl/JsseStreamConduit;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1614
            aload 0 /* this */
            aload 2 /* task */
            putfield org.xnio.ssl.JsseStreamConduit$TaskWrapper.task:Ljava/lang/Runnable;
         2: .line 1615
            return
        end local 2 // java.lang.Runnable task
        end local 0 // org.xnio.ssl.JsseStreamConduit$TaskWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/xnio/ssl/JsseStreamConduit$TaskWrapper;
            0    3     2  task  Ljava/lang/Runnable;
    MethodParameters:
        Name  Flags
      this$0  final
      task    final

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.xnio.ssl.JsseStreamConduit$TaskWrapper this
         0: .line 1619
            aload 0 /* this */
            getfield org.xnio.ssl.JsseStreamConduit$TaskWrapper.task:Ljava/lang/Runnable;
            invokeinterface java.lang.Runnable.run:()V
         1: .line 1620
            goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 1
         3: .line 1621
            aload 0 /* this */
            getfield org.xnio.ssl.JsseStreamConduit$TaskWrapper.this$0:Lorg/xnio/ssl/JsseStreamConduit;
            dup
            astore 2
            monitorenter
         4: .line 1622
            aload 0 /* this */
            getfield org.xnio.ssl.JsseStreamConduit$TaskWrapper.this$0:Lorg/xnio/ssl/JsseStreamConduit;
            dup
            getfield org.xnio.ssl.JsseStreamConduit.tasks:I
            dup_x1
            iconst_1
            isub
            putfield org.xnio.ssl.JsseStreamConduit.tasks:I
            iconst_1
            if_icmpne 5
            aload 0 /* this */
            getfield org.xnio.ssl.JsseStreamConduit$TaskWrapper.this$0:Lorg/xnio/ssl/JsseStreamConduit;
            invokevirtual java.lang.Object.notifyAll:()V
         5: .line 1621
      StackMap locals: java.lang.Throwable org.xnio.ssl.JsseStreamConduit
      StackMap stack:
            aload 2
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 2
            monitorexit
         8: athrow
         9: .line 1624
      StackMap locals:
      StackMap stack:
            aload 1
            athrow
        10: .line 1621
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.xnio.ssl.JsseStreamConduit$TaskWrapper.this$0:Lorg/xnio/ssl/JsseStreamConduit;
            dup
            astore 2
            monitorenter
        11: .line 1622
            aload 0 /* this */
            getfield org.xnio.ssl.JsseStreamConduit$TaskWrapper.this$0:Lorg/xnio/ssl/JsseStreamConduit;
            dup
            getfield org.xnio.ssl.JsseStreamConduit.tasks:I
            dup_x1
            iconst_1
            isub
            putfield org.xnio.ssl.JsseStreamConduit.tasks:I
            iconst_1
            if_icmpne 12
            aload 0 /* this */
            getfield org.xnio.ssl.JsseStreamConduit$TaskWrapper.this$0:Lorg/xnio/ssl/JsseStreamConduit;
            invokevirtual java.lang.Object.notifyAll:()V
        12: .line 1621
      StackMap locals: org.xnio.ssl.JsseStreamConduit$TaskWrapper top org.xnio.ssl.JsseStreamConduit
      StackMap stack:
            aload 2
            monitorexit
        13: goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: aload 2
            monitorexit
        15: athrow
        16: .line 1625
      StackMap locals: org.xnio.ssl.JsseStreamConduit$TaskWrapper
      StackMap stack:
            return
        end local 0 // org.xnio.ssl.JsseStreamConduit$TaskWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lorg/xnio/ssl/JsseStreamConduit$TaskWrapper;
      Exception table:
        from    to  target  type
           0     2       2  any
           4     6       7  any
           7     8       7  any
          11    13      14  any
          14    15      14  any
}
SourceFile: "JsseStreamConduit.java"
NestHost: org.xnio.ssl.JsseStreamConduit
InnerClasses:
  TaskWrapper = org.xnio.ssl.JsseStreamConduit$TaskWrapper of org.xnio.ssl.JsseStreamConduit