public abstract class org.xnio.IoFuture$HandlingNotifier<T, A> implements org.xnio.IoFuture$Notifier<T, A>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.xnio.IoFuture$HandlingNotifier
  super_class: java.lang.Object
{
  private static volatile int[] $SWITCH_TABLE$org$xnio$IoFuture$Status;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.xnio.IoFuture$HandlingNotifier this
         0: .line 197
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.xnio.IoFuture$HandlingNotifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/xnio/IoFuture$HandlingNotifier<TT;TA;>;

  public void notify(org.xnio.IoFuture<? extends T>, );
    descriptor: (Lorg/xnio/IoFuture;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.xnio.IoFuture$HandlingNotifier this
        start local 1 // org.xnio.IoFuture future
        start local 2 // java.lang.Object attachment
         0: .line 202
            invokestatic org.xnio.IoFuture$HandlingNotifier.$SWITCH_TABLE$org$xnio$IoFuture$Status:()[I
            aload 1 /* future */
            invokeinterface org.xnio.IoFuture.getStatus:()Lorg/xnio/IoFuture$Status;
            invokevirtual org.xnio.IoFuture$Status.ordinal:()I
            iaload
            tableswitch { // 2 - 4
                    2: 3
                    3: 1
                    4: 7
              default: 9
          }
         1: .line 204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* attachment */
            invokevirtual org.xnio.IoFuture$HandlingNotifier.handleCancelled:(Ljava/lang/Object;)V
         2: .line 205
            goto 10
         3: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* future */
            invokeinterface org.xnio.IoFuture.get:()Ljava/lang/Object;
            aload 2 /* attachment */
            invokevirtual org.xnio.IoFuture$HandlingNotifier.handleDone:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 209
            goto 10
      StackMap locals:
      StackMap stack: java.io.IOException
         5: pop
         6: .line 211
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
         7: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* future */
            invokeinterface org.xnio.IoFuture.getException:()Ljava/io/IOException;
            aload 2 /* attachment */
            invokevirtual org.xnio.IoFuture$HandlingNotifier.handleFailed:(Ljava/io/IOException;Ljava/lang/Object;)V
         8: .line 216
            goto 10
         9: .line 219
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
        10: .line 221
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object attachment
        end local 1 // org.xnio.IoFuture future
        end local 0 // org.xnio.IoFuture$HandlingNotifier this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lorg/xnio/IoFuture$HandlingNotifier<TT;TA;>;
            0   11     1      future  Lorg/xnio/IoFuture<+TT;>;
            0   11     2  attachment  TA;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException
    Signature: (Lorg/xnio/IoFuture<+TT;>;TA;)V
    MethodParameters:
            Name  Flags
      future      final
      attachment  

  public void handleCancelled();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.xnio.IoFuture$HandlingNotifier this
        start local 1 // java.lang.Object attachment
         0: .line 229
            return
        end local 1 // java.lang.Object attachment
        end local 0 // org.xnio.IoFuture$HandlingNotifier this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/xnio/IoFuture$HandlingNotifier<TT;TA;>;
            0    1     1  attachment  TA;
    Signature: (TA;)V
    MethodParameters:
            Name  Flags
      attachment  final

  public void handleFailed(java.io.IOException, );
    descriptor: (Ljava/io/IOException;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.xnio.IoFuture$HandlingNotifier this
        start local 1 // java.io.IOException exception
        start local 2 // java.lang.Object attachment
         0: .line 238
            return
        end local 2 // java.lang.Object attachment
        end local 1 // java.io.IOException exception
        end local 0 // org.xnio.IoFuture$HandlingNotifier this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/xnio/IoFuture$HandlingNotifier<TT;TA;>;
            0    1     1   exception  Ljava/io/IOException;
            0    1     2  attachment  TA;
    Signature: (Ljava/io/IOException;TA;)V
    MethodParameters:
            Name  Flags
      exception   final
      attachment  final

  public void handleDone(T, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.xnio.IoFuture$HandlingNotifier this
        start local 1 // java.lang.Object data
        start local 2 // java.lang.Object attachment
         0: .line 247
            return
        end local 2 // java.lang.Object attachment
        end local 1 // java.lang.Object data
        end local 0 // org.xnio.IoFuture$HandlingNotifier this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/xnio/IoFuture$HandlingNotifier<TT;TA;>;
            0    1     1        data  TT;
            0    1     2  attachment  TA;
    Signature: (TT;TA;)V
    MethodParameters:
            Name  Flags
      data        final
      attachment  final

  static int[] $SWITCH_TABLE$org$xnio$IoFuture$Status();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 197
            getstatic org.xnio.IoFuture$HandlingNotifier.$SWITCH_TABLE$org$xnio$IoFuture$Status:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.xnio.IoFuture$Status.values:()[Lorg/xnio/IoFuture$Status;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.xnio.IoFuture$Status.CANCELLED:Lorg/xnio/IoFuture$Status;
            invokevirtual org.xnio.IoFuture$Status.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.xnio.IoFuture$Status.DONE:Lorg/xnio/IoFuture$Status;
            invokevirtual org.xnio.IoFuture$Status.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.xnio.IoFuture$Status.FAILED:Lorg/xnio/IoFuture$Status;
            invokevirtual org.xnio.IoFuture$Status.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.xnio.IoFuture$Status.WAITING:Lorg/xnio/IoFuture$Status;
            invokevirtual org.xnio.IoFuture$Status.ordinal:()I
            iconst_1
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            dup
            putstatic org.xnio.IoFuture$HandlingNotifier.$SWITCH_TABLE$org$xnio$IoFuture$Status:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
}
Signature: <T:Ljava/lang/Object;A:Ljava/lang/Object;>Ljava/lang/Object;Lorg/xnio/IoFuture$Notifier<TT;TA;>;
SourceFile: "IoFuture.java"
NestHost: org.xnio.IoFuture
InnerClasses:
  public abstract HandlingNotifier = org.xnio.IoFuture$HandlingNotifier of org.xnio.IoFuture
  public abstract Notifier = org.xnio.IoFuture$Notifier of org.xnio.IoFuture
  public final Status = org.xnio.IoFuture$Status of org.xnio.IoFuture