public abstract class org.xnio.AbstractConvertingIoFuture<T, D> implements org.xnio.IoFuture<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.xnio.AbstractConvertingIoFuture
  super_class: java.lang.Object
{
  protected final org.xnio.IoFuture<? extends D> delegate;
    descriptor: Lorg/xnio/IoFuture;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: Lorg/xnio/IoFuture<+TD;>;

  protected void <init>(org.xnio.IoFuture<? extends D>);
    descriptor: (Lorg/xnio/IoFuture;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.xnio.AbstractConvertingIoFuture this
        start local 1 // org.xnio.IoFuture delegate
         0: .line 37
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 38
            aload 0 /* this */
            aload 1 /* delegate */
            putfield org.xnio.AbstractConvertingIoFuture.delegate:Lorg/xnio/IoFuture;
         2: .line 39
            return
        end local 1 // org.xnio.IoFuture delegate
        end local 0 // org.xnio.AbstractConvertingIoFuture this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/xnio/AbstractConvertingIoFuture<TT;TD;>;
            0    3     1  delegate  Lorg/xnio/IoFuture<+TD;>;
    Signature: (Lorg/xnio/IoFuture<+TD;>;)V
    MethodParameters:
          Name  Flags
      delegate  final

  protected org.xnio.IoFuture<? extends D> getDelegate();
    descriptor: ()Lorg/xnio/IoFuture;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.xnio.AbstractConvertingIoFuture this
         0: .line 42
            aload 0 /* this */
            getfield org.xnio.AbstractConvertingIoFuture.delegate:Lorg/xnio/IoFuture;
            areturn
        end local 0 // org.xnio.AbstractConvertingIoFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/xnio/AbstractConvertingIoFuture<TT;TD;>;
    Signature: ()Lorg/xnio/IoFuture<+TD;>;

  public org.xnio.IoFuture<T> cancel();
    descriptor: ()Lorg/xnio/IoFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.xnio.AbstractConvertingIoFuture this
         0: .line 46
            aload 0 /* this */
            getfield org.xnio.AbstractConvertingIoFuture.delegate:Lorg/xnio/IoFuture;
            invokeinterface org.xnio.IoFuture.cancel:()Lorg/xnio/IoFuture;
            pop
         1: .line 47
            aload 0 /* this */
            areturn
        end local 0 // org.xnio.AbstractConvertingIoFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/xnio/AbstractConvertingIoFuture<TT;TD;>;
    Signature: ()Lorg/xnio/IoFuture<TT;>;

  public org.xnio.IoFuture$Status getStatus();
    descriptor: ()Lorg/xnio/IoFuture$Status;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.xnio.AbstractConvertingIoFuture this
         0: .line 51
            aload 0 /* this */
            getfield org.xnio.AbstractConvertingIoFuture.delegate:Lorg/xnio/IoFuture;
            invokeinterface org.xnio.IoFuture.getStatus:()Lorg/xnio/IoFuture$Status;
            areturn
        end local 0 // org.xnio.AbstractConvertingIoFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/xnio/AbstractConvertingIoFuture<TT;TD;>;
    Signature: ()Lorg/xnio/IoFuture$Status;

  public org.xnio.IoFuture$Status await();
    descriptor: ()Lorg/xnio/IoFuture$Status;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.xnio.AbstractConvertingIoFuture this
         0: .line 55
            aload 0 /* this */
            getfield org.xnio.AbstractConvertingIoFuture.delegate:Lorg/xnio/IoFuture;
            invokeinterface org.xnio.IoFuture.await:()Lorg/xnio/IoFuture$Status;
            areturn
        end local 0 // org.xnio.AbstractConvertingIoFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/xnio/AbstractConvertingIoFuture<TT;TD;>;
    Signature: ()Lorg/xnio/IoFuture$Status;

  public org.xnio.IoFuture$Status await(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)Lorg/xnio/IoFuture$Status;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.xnio.AbstractConvertingIoFuture this
        start local 1 // long time
        start local 3 // java.util.concurrent.TimeUnit timeUnit
         0: .line 59
            aload 0 /* this */
            getfield org.xnio.AbstractConvertingIoFuture.delegate:Lorg/xnio/IoFuture;
            lload 1 /* time */
            aload 3 /* timeUnit */
            invokeinterface org.xnio.IoFuture.await:(JLjava/util/concurrent/TimeUnit;)Lorg/xnio/IoFuture$Status;
            areturn
        end local 3 // java.util.concurrent.TimeUnit timeUnit
        end local 1 // long time
        end local 0 // org.xnio.AbstractConvertingIoFuture this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/xnio/AbstractConvertingIoFuture<TT;TD;>;
            0    1     1      time  J
            0    1     3  timeUnit  Ljava/util/concurrent/TimeUnit;
    Signature: (JLjava/util/concurrent/TimeUnit;)Lorg/xnio/IoFuture$Status;
    MethodParameters:
          Name  Flags
      time      final
      timeUnit  final

  public org.xnio.IoFuture$Status awaitInterruptibly();
    descriptor: ()Lorg/xnio/IoFuture$Status;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.xnio.AbstractConvertingIoFuture this
         0: .line 63
            aload 0 /* this */
            getfield org.xnio.AbstractConvertingIoFuture.delegate:Lorg/xnio/IoFuture;
            invokeinterface org.xnio.IoFuture.awaitInterruptibly:()Lorg/xnio/IoFuture$Status;
            areturn
        end local 0 // org.xnio.AbstractConvertingIoFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/xnio/AbstractConvertingIoFuture<TT;TD;>;
    Exceptions:
      throws java.lang.InterruptedException
    Signature: ()Lorg/xnio/IoFuture$Status;

  public org.xnio.IoFuture$Status awaitInterruptibly(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)Lorg/xnio/IoFuture$Status;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.xnio.AbstractConvertingIoFuture this
        start local 1 // long time
        start local 3 // java.util.concurrent.TimeUnit timeUnit
         0: .line 67
            aload 0 /* this */
            getfield org.xnio.AbstractConvertingIoFuture.delegate:Lorg/xnio/IoFuture;
            lload 1 /* time */
            aload 3 /* timeUnit */
            invokeinterface org.xnio.IoFuture.awaitInterruptibly:(JLjava/util/concurrent/TimeUnit;)Lorg/xnio/IoFuture$Status;
            areturn
        end local 3 // java.util.concurrent.TimeUnit timeUnit
        end local 1 // long time
        end local 0 // org.xnio.AbstractConvertingIoFuture this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/xnio/AbstractConvertingIoFuture<TT;TD;>;
            0    1     1      time  J
            0    1     3  timeUnit  Ljava/util/concurrent/TimeUnit;
    Exceptions:
      throws java.lang.InterruptedException
    Signature: (JLjava/util/concurrent/TimeUnit;)Lorg/xnio/IoFuture$Status;
    MethodParameters:
          Name  Flags
      time      final
      timeUnit  final

  public java.io.IOException getException();
    descriptor: ()Ljava/io/IOException;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.xnio.AbstractConvertingIoFuture this
         0: .line 71
            aload 0 /* this */
            getfield org.xnio.AbstractConvertingIoFuture.delegate:Lorg/xnio/IoFuture;
            invokeinterface org.xnio.IoFuture.getException:()Ljava/io/IOException;
            areturn
        end local 0 // org.xnio.AbstractConvertingIoFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/xnio/AbstractConvertingIoFuture<TT;TD;>;
    Exceptions:
      throws java.lang.IllegalStateException

  public T get();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.xnio.AbstractConvertingIoFuture this
         0: .line 75
            aload 0 /* this */
            aload 0 /* this */
            getfield org.xnio.AbstractConvertingIoFuture.delegate:Lorg/xnio/IoFuture;
            invokeinterface org.xnio.IoFuture.get:()Ljava/lang/Object;
            invokevirtual org.xnio.AbstractConvertingIoFuture.convert:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 0 // org.xnio.AbstractConvertingIoFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/xnio/AbstractConvertingIoFuture<TT;TD;>;
    Exceptions:
      throws java.io.IOException
    Signature: ()TT;

  public T getInterruptibly();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.xnio.AbstractConvertingIoFuture this
         0: .line 79
            aload 0 /* this */
            aload 0 /* this */
            getfield org.xnio.AbstractConvertingIoFuture.delegate:Lorg/xnio/IoFuture;
            invokeinterface org.xnio.IoFuture.getInterruptibly:()Ljava/lang/Object;
            invokevirtual org.xnio.AbstractConvertingIoFuture.convert:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 0 // org.xnio.AbstractConvertingIoFuture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/xnio/AbstractConvertingIoFuture<TT;TD;>;
    Exceptions:
      throws java.io.IOException, java.lang.InterruptedException
    Signature: ()TT;

  protected abstract T convert();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    Signature: (TD;)TT;
    MethodParameters:
      Name  Flags
      arg   

  public <A> org.xnio.IoFuture<T> addNotifier(org.xnio.IoFuture$Notifier<? super T, A>, A);
    descriptor: (Lorg/xnio/IoFuture$Notifier;Ljava/lang/Object;)Lorg/xnio/IoFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.xnio.AbstractConvertingIoFuture this
        start local 1 // org.xnio.IoFuture$Notifier notifier
        start local 2 // java.lang.Object attachment
         0: .line 85
            aload 0 /* this */
            getfield org.xnio.AbstractConvertingIoFuture.delegate:Lorg/xnio/IoFuture;
            new org.xnio.AbstractConvertingIoFuture$1
            dup
            aload 0 /* this */
            aload 1 /* notifier */
            invokespecial org.xnio.AbstractConvertingIoFuture$1.<init>:(Lorg/xnio/AbstractConvertingIoFuture;Lorg/xnio/IoFuture$Notifier;)V
         1: .line 89
            aload 2 /* attachment */
         2: .line 85
            invokeinterface org.xnio.IoFuture.addNotifier:(Lorg/xnio/IoFuture$Notifier;Ljava/lang/Object;)Lorg/xnio/IoFuture;
            pop
         3: .line 90
            aload 0 /* this */
            areturn
        end local 2 // java.lang.Object attachment
        end local 1 // org.xnio.IoFuture$Notifier notifier
        end local 0 // org.xnio.AbstractConvertingIoFuture this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/xnio/AbstractConvertingIoFuture<TT;TD;>;
            0    4     1    notifier  Lorg/xnio/IoFuture$Notifier<-TT;TA;>;
            0    4     2  attachment  TA;
    Signature: <A:Ljava/lang/Object;>(Lorg/xnio/IoFuture$Notifier<-TT;TA;>;TA;)Lorg/xnio/IoFuture<TT;>;
    MethodParameters:
            Name  Flags
      notifier    final
      attachment  

  public org.xnio.Cancellable cancel();
    descriptor: ()Lorg/xnio/Cancellable;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.xnio.AbstractConvertingIoFuture.cancel:()Lorg/xnio/IoFuture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <T:Ljava/lang/Object;D:Ljava/lang/Object;>Ljava/lang/Object;Lorg/xnio/IoFuture<TT;>;
SourceFile: "AbstractConvertingIoFuture.java"
NestMembers:
  org.xnio.AbstractConvertingIoFuture$1
InnerClasses:
  org.xnio.AbstractConvertingIoFuture$1
  public abstract Notifier = org.xnio.IoFuture$Notifier of org.xnio.IoFuture
  public final Status = org.xnio.IoFuture$Status of org.xnio.IoFuture