public class io.netty.channel.CombinedChannelDuplexHandler<I extends io.netty.channel.ChannelInboundHandler, O extends io.netty.channel.ChannelOutboundHandler> extends io.netty.channel.ChannelDuplexHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.netty.channel.CombinedChannelDuplexHandler
  super_class: io.netty.channel.ChannelDuplexHandler
{
  private static final io.netty.util.internal.logging.InternalLogger logger;
    descriptor: Lio/netty/util/internal/logging/InternalLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext inboundCtx;
    descriptor: Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
    flags: (0x0002) ACC_PRIVATE

  private io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext outboundCtx;
    descriptor: Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
    flags: (0x0002) ACC_PRIVATE

  private volatile boolean handlerAdded;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private I inboundHandler;
    descriptor: Lio/netty/channel/ChannelInboundHandler;
    flags: (0x0002) ACC_PRIVATE
    Signature: TI;

  private O outboundHandler;
    descriptor: Lio/netty/channel/ChannelOutboundHandler;
    flags: (0x0002) ACC_PRIVATE
    Signature: TO;

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 31
            ldc Lio/netty/channel/CombinedChannelDuplexHandler;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic io.netty.channel.CombinedChannelDuplexHandler.$assertionsDisabled:Z
         3: .line 34
            ldc Lio/netty/channel/CombinedChannelDuplexHandler;
            invokestatic io.netty.util.internal.logging.InternalLoggerFactory.getInstance:(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger;
            putstatic io.netty.channel.CombinedChannelDuplexHandler.logger:Lio/netty/util/internal/logging/InternalLogger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
         0: .line 48
            aload 0 /* this */
            invokespecial io.netty.channel.ChannelDuplexHandler.<init>:()V
         1: .line 49
            aload 0 /* this */
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler.ensureNotSharable:()V
         2: .line 50
            return
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;

  public void <init>(I, );
    descriptor: (Lio/netty/channel/ChannelInboundHandler;Lio/netty/channel/ChannelOutboundHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
        start local 1 // io.netty.channel.ChannelInboundHandler inboundHandler
        start local 2 // io.netty.channel.ChannelOutboundHandler outboundHandler
         0: .line 55
            aload 0 /* this */
            invokespecial io.netty.channel.ChannelDuplexHandler.<init>:()V
         1: .line 56
            aload 0 /* this */
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler.ensureNotSharable:()V
         2: .line 57
            aload 0 /* this */
            aload 1 /* inboundHandler */
            aload 2 /* outboundHandler */
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler.init:(Lio/netty/channel/ChannelInboundHandler;Lio/netty/channel/ChannelOutboundHandler;)V
         3: .line 58
            return
        end local 2 // io.netty.channel.ChannelOutboundHandler outboundHandler
        end local 1 // io.netty.channel.ChannelInboundHandler inboundHandler
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;
            0    4     1   inboundHandler  TI;
            0    4     2  outboundHandler  TO;
    Signature: (TI;TO;)V
    MethodParameters:
                 Name  Flags
      inboundHandler   
      outboundHandler  

  protected final void init(I, );
    descriptor: (Lio/netty/channel/ChannelInboundHandler;Lio/netty/channel/ChannelOutboundHandler;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
        start local 1 // io.netty.channel.ChannelInboundHandler inboundHandler
        start local 2 // io.netty.channel.ChannelOutboundHandler outboundHandler
         0: .line 69
            aload 0 /* this */
            aload 1 /* inboundHandler */
            aload 2 /* outboundHandler */
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler.validate:(Lio/netty/channel/ChannelInboundHandler;Lio/netty/channel/ChannelOutboundHandler;)V
         1: .line 70
            aload 0 /* this */
            aload 1 /* inboundHandler */
            putfield io.netty.channel.CombinedChannelDuplexHandler.inboundHandler:Lio/netty/channel/ChannelInboundHandler;
         2: .line 71
            aload 0 /* this */
            aload 2 /* outboundHandler */
            putfield io.netty.channel.CombinedChannelDuplexHandler.outboundHandler:Lio/netty/channel/ChannelOutboundHandler;
         3: .line 72
            return
        end local 2 // io.netty.channel.ChannelOutboundHandler outboundHandler
        end local 1 // io.netty.channel.ChannelInboundHandler inboundHandler
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;
            0    4     1   inboundHandler  TI;
            0    4     2  outboundHandler  TO;
    Signature: (TI;TO;)V
    MethodParameters:
                 Name  Flags
      inboundHandler   
      outboundHandler  

  private void validate(I, );
    descriptor: (Lio/netty/channel/ChannelInboundHandler;Lio/netty/channel/ChannelOutboundHandler;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
        start local 1 // io.netty.channel.ChannelInboundHandler inboundHandler
        start local 2 // io.netty.channel.ChannelOutboundHandler outboundHandler
         0: .line 75
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundHandler:Lio/netty/channel/ChannelInboundHandler;
            ifnull 6
         1: .line 76
            new java.lang.IllegalStateException
            dup
         2: .line 77
            new java.lang.StringBuilder
            dup
            ldc "init() can not be invoked if "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc Lio/netty/channel/CombinedChannelDuplexHandler;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 78
            ldc " was constructed with non-default constructor."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 77
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 76
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 81
      StackMap locals:
      StackMap stack:
            aload 1 /* inboundHandler */
            ifnonnull 8
         7: .line 82
            new java.lang.NullPointerException
            dup
            ldc "inboundHandler"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 84
      StackMap locals:
      StackMap stack:
            aload 2 /* outboundHandler */
            ifnonnull 10
         9: .line 85
            new java.lang.NullPointerException
            dup
            ldc "outboundHandler"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 87
      StackMap locals:
      StackMap stack:
            aload 1 /* inboundHandler */
            instanceof io.netty.channel.ChannelOutboundHandler
            ifeq 16
        11: .line 88
            new java.lang.IllegalArgumentException
            dup
        12: .line 89
            new java.lang.StringBuilder
            dup
            ldc "inboundHandler must not implement "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        13: .line 90
            ldc Lio/netty/channel/ChannelOutboundHandler;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " to get combined."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 89
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 88
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 92
      StackMap locals:
      StackMap stack:
            aload 2 /* outboundHandler */
            instanceof io.netty.channel.ChannelInboundHandler
            ifeq 22
        17: .line 93
            new java.lang.IllegalArgumentException
            dup
        18: .line 94
            new java.lang.StringBuilder
            dup
            ldc "outboundHandler must not implement "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        19: .line 95
            ldc Lio/netty/channel/ChannelInboundHandler;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " to get combined."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 94
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        21: .line 93
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 97
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.netty.channel.ChannelOutboundHandler outboundHandler
        end local 1 // io.netty.channel.ChannelInboundHandler inboundHandler
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   23     0             this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;
            0   23     1   inboundHandler  TI;
            0   23     2  outboundHandler  TO;
    Signature: (TI;TO;)V
    MethodParameters:
                 Name  Flags
      inboundHandler   
      outboundHandler  

  protected final I inboundHandler();
    descriptor: ()Lio/netty/channel/ChannelInboundHandler;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
         0: .line 100
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundHandler:Lio/netty/channel/ChannelInboundHandler;
            areturn
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;
    Signature: ()TI;

  protected final O outboundHandler();
    descriptor: ()Lio/netty/channel/ChannelOutboundHandler;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
         0: .line 104
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundHandler:Lio/netty/channel/ChannelOutboundHandler;
            areturn
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;
    Signature: ()TO;

  private void checkAdded();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
         0: .line 108
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.handlerAdded:Z
            ifne 2
         1: .line 109
            new java.lang.IllegalStateException
            dup
            ldc "handler not added to pipeline yet"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 111
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;

  public final void removeInboundHandler();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
         0: .line 117
            aload 0 /* this */
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler.checkAdded:()V
         1: .line 118
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.remove:()V
         2: .line 119
            return
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;

  public final void removeOutboundHandler();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
         0: .line 125
            aload 0 /* this */
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler.checkAdded:()V
         1: .line 126
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.remove:()V
         2: .line 127
            return
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;

  public void handlerAdded(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 131
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundHandler:Lio/netty/channel/ChannelInboundHandler;
            ifnonnull 7
         1: .line 132
            new java.lang.IllegalStateException
            dup
         2: .line 133
            new java.lang.StringBuilder
            dup
            ldc "init() must be invoked before being added to a "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc Lio/netty/channel/ChannelPipeline;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 134
            ldc " if "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc Lio/netty/channel/CombinedChannelDuplexHandler;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 135
            ldc " was constructed with the default constructor."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 133
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 132
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext
            dup
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundHandler:Lio/netty/channel/ChannelOutboundHandler;
            invokespecial io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.<init>:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelHandler;)V
            putfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
         8: .line 139
            aload 0 /* this */
            new io.netty.channel.CombinedChannelDuplexHandler$1
            dup
            aload 0 /* this */
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundHandler:Lio/netty/channel/ChannelInboundHandler;
            invokespecial io.netty.channel.CombinedChannelDuplexHandler$1.<init>:(Lio/netty/channel/CombinedChannelDuplexHandler;Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelHandler;)V
            putfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
         9: .line 171
            aload 0 /* this */
            iconst_1
            putfield io.netty.channel.CombinedChannelDuplexHandler.handlerAdded:Z
        10: .line 174
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundHandler:Lio/netty/channel/ChannelInboundHandler;
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            invokeinterface io.netty.channel.ChannelInboundHandler.handlerAdded:(Lio/netty/channel/ChannelHandlerContext;)V
        11: .line 175
            goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 2
        13: .line 176
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundHandler:Lio/netty/channel/ChannelOutboundHandler;
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            invokeinterface io.netty.channel.ChannelOutboundHandler.handlerAdded:(Lio/netty/channel/ChannelHandlerContext;)V
        14: .line 177
            aload 2
            athrow
        15: .line 176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundHandler:Lio/netty/channel/ChannelOutboundHandler;
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            invokeinterface io.netty.channel.ChannelOutboundHandler.handlerAdded:(Lio/netty/channel/ChannelHandlerContext;)V
        16: .line 178
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;
            0   17     1   ctx  Lio/netty/channel/ChannelHandlerContext;
      Exception table:
        from    to  target  type
          10    12      12  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ctx   

  public void handlerRemoved(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 183
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.remove:()V
         1: .line 184
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 2
         3: .line 185
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.remove:()V
         4: .line 186
            aload 2
            athrow
         5: .line 185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.remove:()V
         6: .line 187
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;
            0    7     1   ctx  Lio/netty/channel/ChannelHandlerContext;
      Exception table:
        from    to  target  type
           0     2       2  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ctx   

  public void channelRegistered(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 191
            getstatic io.netty.channel.CombinedChannelDuplexHandler.$assertionsDisabled:Z
            ifne 1
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.ctx:Lio/netty/channel/ChannelHandlerContext;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 192
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.removed:Z
            ifne 4
         2: .line 193
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundHandler:Lio/netty/channel/ChannelInboundHandler;
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            invokeinterface io.netty.channel.ChannelInboundHandler.channelRegistered:(Lio/netty/channel/ChannelHandlerContext;)V
         3: .line 194
            goto 5
         4: .line 195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRegistered:()Lio/netty/channel/ChannelHandlerContext;
            pop
         5: .line 197
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;
            0    6     1   ctx  Lio/netty/channel/ChannelHandlerContext;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ctx   

  public void channelUnregistered(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 201
            getstatic io.netty.channel.CombinedChannelDuplexHandler.$assertionsDisabled:Z
            ifne 1
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.ctx:Lio/netty/channel/ChannelHandlerContext;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.removed:Z
            ifne 4
         2: .line 203
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundHandler:Lio/netty/channel/ChannelInboundHandler;
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            invokeinterface io.netty.channel.ChannelInboundHandler.channelUnregistered:(Lio/netty/channel/ChannelHandlerContext;)V
         3: .line 204
            goto 5
         4: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelUnregistered:()Lio/netty/channel/ChannelHandlerContext;
            pop
         5: .line 207
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;
            0    6     1   ctx  Lio/netty/channel/ChannelHandlerContext;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ctx   

  public void channelActive(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 211
            getstatic io.netty.channel.CombinedChannelDuplexHandler.$assertionsDisabled:Z
            ifne 1
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.ctx:Lio/netty/channel/ChannelHandlerContext;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.removed:Z
            ifne 4
         2: .line 213
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundHandler:Lio/netty/channel/ChannelInboundHandler;
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            invokeinterface io.netty.channel.ChannelInboundHandler.channelActive:(Lio/netty/channel/ChannelHandlerContext;)V
         3: .line 214
            goto 5
         4: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelActive:()Lio/netty/channel/ChannelHandlerContext;
            pop
         5: .line 217
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;
            0    6     1   ctx  Lio/netty/channel/ChannelHandlerContext;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ctx   

  public void channelInactive(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 221
            getstatic io.netty.channel.CombinedChannelDuplexHandler.$assertionsDisabled:Z
            ifne 1
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.ctx:Lio/netty/channel/ChannelHandlerContext;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 222
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.removed:Z
            ifne 4
         2: .line 223
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundHandler:Lio/netty/channel/ChannelInboundHandler;
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            invokeinterface io.netty.channel.ChannelInboundHandler.channelInactive:(Lio/netty/channel/ChannelHandlerContext;)V
         3: .line 224
            goto 5
         4: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelInactive:()Lio/netty/channel/ChannelHandlerContext;
            pop
         5: .line 227
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;
            0    6     1   ctx  Lio/netty/channel/ChannelHandlerContext;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ctx   

  public void exceptionCaught(io.netty.channel.ChannelHandlerContext, java.lang.Throwable);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // java.lang.Throwable cause
         0: .line 231
            getstatic io.netty.channel.CombinedChannelDuplexHandler.$assertionsDisabled:Z
            ifne 1
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.ctx:Lio/netty/channel/ChannelHandlerContext;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.removed:Z
            ifne 4
         2: .line 233
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundHandler:Lio/netty/channel/ChannelInboundHandler;
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            aload 2 /* cause */
            invokeinterface io.netty.channel.ChannelInboundHandler.exceptionCaught:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;)V
         3: .line 234
            goto 5
         4: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            aload 2 /* cause */
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireExceptionCaught:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelHandlerContext;
            pop
         5: .line 237
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Throwable cause
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;
            0    6     1    ctx  Lio/netty/channel/ChannelHandlerContext;
            0    6     2  cause  Ljava/lang/Throwable;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
       Name  Flags
      ctx    
      cause  

  public void userEventTriggered(io.netty.channel.ChannelHandlerContext, java.lang.Object);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // java.lang.Object evt
         0: .line 241
            getstatic io.netty.channel.CombinedChannelDuplexHandler.$assertionsDisabled:Z
            ifne 1
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.ctx:Lio/netty/channel/ChannelHandlerContext;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 242
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.removed:Z
            ifne 4
         2: .line 243
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundHandler:Lio/netty/channel/ChannelInboundHandler;
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            aload 2 /* evt */
            invokeinterface io.netty.channel.ChannelInboundHandler.userEventTriggered:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
         3: .line 244
            goto 5
         4: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            aload 2 /* evt */
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireUserEventTriggered:(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext;
            pop
         5: .line 247
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object evt
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;
            0    6     1   ctx  Lio/netty/channel/ChannelHandlerContext;
            0    6     2   evt  Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ctx   
      evt   

  public void channelRead(io.netty.channel.ChannelHandlerContext, java.lang.Object);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // java.lang.Object msg
         0: .line 251
            getstatic io.netty.channel.CombinedChannelDuplexHandler.$assertionsDisabled:Z
            ifne 1
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.ctx:Lio/netty/channel/ChannelHandlerContext;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 252
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.removed:Z
            ifne 4
         2: .line 253
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundHandler:Lio/netty/channel/ChannelInboundHandler;
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            aload 2 /* msg */
            invokeinterface io.netty.channel.ChannelInboundHandler.channelRead:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
         3: .line 254
            goto 5
         4: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            aload 2 /* msg */
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead:(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext;
            pop
         5: .line 257
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object msg
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;
            0    6     1   ctx  Lio/netty/channel/ChannelHandlerContext;
            0    6     2   msg  Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ctx   
      msg   

  public void channelReadComplete(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 261
            getstatic io.netty.channel.CombinedChannelDuplexHandler.$assertionsDisabled:Z
            ifne 1
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.ctx:Lio/netty/channel/ChannelHandlerContext;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.removed:Z
            ifne 4
         2: .line 263
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundHandler:Lio/netty/channel/ChannelInboundHandler;
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            invokeinterface io.netty.channel.ChannelInboundHandler.channelReadComplete:(Lio/netty/channel/ChannelHandlerContext;)V
         3: .line 264
            goto 5
         4: .line 265
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelReadComplete:()Lio/netty/channel/ChannelHandlerContext;
            pop
         5: .line 267
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;
            0    6     1   ctx  Lio/netty/channel/ChannelHandlerContext;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ctx   

  public void channelWritabilityChanged(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 271
            getstatic io.netty.channel.CombinedChannelDuplexHandler.$assertionsDisabled:Z
            ifne 1
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.ctx:Lio/netty/channel/ChannelHandlerContext;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.removed:Z
            ifne 4
         2: .line 273
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundHandler:Lio/netty/channel/ChannelInboundHandler;
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            invokeinterface io.netty.channel.ChannelInboundHandler.channelWritabilityChanged:(Lio/netty/channel/ChannelHandlerContext;)V
         3: .line 274
            goto 5
         4: .line 275
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.inboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelWritabilityChanged:()Lio/netty/channel/ChannelHandlerContext;
            pop
         5: .line 277
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;
            0    6     1   ctx  Lio/netty/channel/ChannelHandlerContext;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ctx   

  public void bind(io.netty.channel.ChannelHandlerContext, java.net.SocketAddress, io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/net/SocketAddress;Lio/netty/channel/ChannelPromise;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // java.net.SocketAddress localAddress
        start local 3 // io.netty.channel.ChannelPromise promise
         0: .line 283
            getstatic io.netty.channel.CombinedChannelDuplexHandler.$assertionsDisabled:Z
            ifne 1
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.ctx:Lio/netty/channel/ChannelHandlerContext;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 284
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.removed:Z
            ifne 4
         2: .line 285
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundHandler:Lio/netty/channel/ChannelOutboundHandler;
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            aload 2 /* localAddress */
            aload 3 /* promise */
            invokeinterface io.netty.channel.ChannelOutboundHandler.bind:(Lio/netty/channel/ChannelHandlerContext;Ljava/net/SocketAddress;Lio/netty/channel/ChannelPromise;)V
         3: .line 286
            goto 5
         4: .line 287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            aload 2 /* localAddress */
            aload 3 /* promise */
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.bind:(Ljava/net/SocketAddress;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            pop
         5: .line 289
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.netty.channel.ChannelPromise promise
        end local 2 // java.net.SocketAddress localAddress
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;
            0    6     1           ctx  Lio/netty/channel/ChannelHandlerContext;
            0    6     2  localAddress  Ljava/net/SocketAddress;
            0    6     3       promise  Lio/netty/channel/ChannelPromise;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
              Name  Flags
      ctx           
      localAddress  
      promise       

  public void connect(io.netty.channel.ChannelHandlerContext, java.net.SocketAddress, java.net.SocketAddress, io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/net/SocketAddress;Ljava/net/SocketAddress;Lio/netty/channel/ChannelPromise;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // java.net.SocketAddress remoteAddress
        start local 3 // java.net.SocketAddress localAddress
        start local 4 // io.netty.channel.ChannelPromise promise
         0: .line 296
            getstatic io.netty.channel.CombinedChannelDuplexHandler.$assertionsDisabled:Z
            ifne 1
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.ctx:Lio/netty/channel/ChannelHandlerContext;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 297
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.removed:Z
            ifne 4
         2: .line 298
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundHandler:Lio/netty/channel/ChannelOutboundHandler;
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            aload 2 /* remoteAddress */
            aload 3 /* localAddress */
            aload 4 /* promise */
            invokeinterface io.netty.channel.ChannelOutboundHandler.connect:(Lio/netty/channel/ChannelHandlerContext;Ljava/net/SocketAddress;Ljava/net/SocketAddress;Lio/netty/channel/ChannelPromise;)V
         3: .line 299
            goto 5
         4: .line 300
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            aload 3 /* localAddress */
            aload 4 /* promise */
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.connect:(Ljava/net/SocketAddress;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            pop
         5: .line 302
      StackMap locals:
      StackMap stack:
            return
        end local 4 // io.netty.channel.ChannelPromise promise
        end local 3 // java.net.SocketAddress localAddress
        end local 2 // java.net.SocketAddress remoteAddress
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;
            0    6     1            ctx  Lio/netty/channel/ChannelHandlerContext;
            0    6     2  remoteAddress  Ljava/net/SocketAddress;
            0    6     3   localAddress  Ljava/net/SocketAddress;
            0    6     4        promise  Lio/netty/channel/ChannelPromise;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
               Name  Flags
      ctx            
      remoteAddress  
      localAddress   
      promise        

  public void disconnect(io.netty.channel.ChannelHandlerContext, io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelPromise;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // io.netty.channel.ChannelPromise promise
         0: .line 306
            getstatic io.netty.channel.CombinedChannelDuplexHandler.$assertionsDisabled:Z
            ifne 1
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.ctx:Lio/netty/channel/ChannelHandlerContext;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.removed:Z
            ifne 4
         2: .line 308
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundHandler:Lio/netty/channel/ChannelOutboundHandler;
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            aload 2 /* promise */
            invokeinterface io.netty.channel.ChannelOutboundHandler.disconnect:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelPromise;)V
         3: .line 309
            goto 5
         4: .line 310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            aload 2 /* promise */
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.disconnect:(Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            pop
         5: .line 312
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.netty.channel.ChannelPromise promise
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;
            0    6     1      ctx  Lio/netty/channel/ChannelHandlerContext;
            0    6     2  promise  Lio/netty/channel/ChannelPromise;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
         Name  Flags
      ctx      
      promise  

  public void close(io.netty.channel.ChannelHandlerContext, io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelPromise;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // io.netty.channel.ChannelPromise promise
         0: .line 316
            getstatic io.netty.channel.CombinedChannelDuplexHandler.$assertionsDisabled:Z
            ifne 1
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.ctx:Lio/netty/channel/ChannelHandlerContext;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 317
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.removed:Z
            ifne 4
         2: .line 318
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundHandler:Lio/netty/channel/ChannelOutboundHandler;
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            aload 2 /* promise */
            invokeinterface io.netty.channel.ChannelOutboundHandler.close:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelPromise;)V
         3: .line 319
            goto 5
         4: .line 320
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            aload 2 /* promise */
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.close:(Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            pop
         5: .line 322
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.netty.channel.ChannelPromise promise
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;
            0    6     1      ctx  Lio/netty/channel/ChannelHandlerContext;
            0    6     2  promise  Lio/netty/channel/ChannelPromise;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
         Name  Flags
      ctx      
      promise  

  public void deregister(io.netty.channel.ChannelHandlerContext, io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelPromise;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // io.netty.channel.ChannelPromise promise
         0: .line 326
            getstatic io.netty.channel.CombinedChannelDuplexHandler.$assertionsDisabled:Z
            ifne 1
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.ctx:Lio/netty/channel/ChannelHandlerContext;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 327
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.removed:Z
            ifne 4
         2: .line 328
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundHandler:Lio/netty/channel/ChannelOutboundHandler;
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            aload 2 /* promise */
            invokeinterface io.netty.channel.ChannelOutboundHandler.deregister:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelPromise;)V
         3: .line 329
            goto 5
         4: .line 330
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            aload 2 /* promise */
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.deregister:(Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            pop
         5: .line 332
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.netty.channel.ChannelPromise promise
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;
            0    6     1      ctx  Lio/netty/channel/ChannelHandlerContext;
            0    6     2  promise  Lio/netty/channel/ChannelPromise;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
         Name  Flags
      ctx      
      promise  

  public void read(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 336
            getstatic io.netty.channel.CombinedChannelDuplexHandler.$assertionsDisabled:Z
            ifne 1
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.ctx:Lio/netty/channel/ChannelHandlerContext;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 337
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.removed:Z
            ifne 4
         2: .line 338
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundHandler:Lio/netty/channel/ChannelOutboundHandler;
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            invokeinterface io.netty.channel.ChannelOutboundHandler.read:(Lio/netty/channel/ChannelHandlerContext;)V
         3: .line 339
            goto 5
         4: .line 340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.read:()Lio/netty/channel/ChannelHandlerContext;
            pop
         5: .line 342
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;
            0    6     1   ctx  Lio/netty/channel/ChannelHandlerContext;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ctx   

  public void write(io.netty.channel.ChannelHandlerContext, java.lang.Object, io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // java.lang.Object msg
        start local 3 // io.netty.channel.ChannelPromise promise
         0: .line 346
            getstatic io.netty.channel.CombinedChannelDuplexHandler.$assertionsDisabled:Z
            ifne 1
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.ctx:Lio/netty/channel/ChannelHandlerContext;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 347
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.removed:Z
            ifne 4
         2: .line 348
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundHandler:Lio/netty/channel/ChannelOutboundHandler;
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            aload 2 /* msg */
            aload 3 /* promise */
            invokeinterface io.netty.channel.ChannelOutboundHandler.write:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)V
         3: .line 349
            goto 5
         4: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            aload 2 /* msg */
            aload 3 /* promise */
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            pop
         5: .line 352
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.netty.channel.ChannelPromise promise
        end local 2 // java.lang.Object msg
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;
            0    6     1      ctx  Lio/netty/channel/ChannelHandlerContext;
            0    6     2      msg  Ljava/lang/Object;
            0    6     3  promise  Lio/netty/channel/ChannelPromise;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
         Name  Flags
      ctx      
      msg      
      promise  

  public void flush(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.CombinedChannelDuplexHandler this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 356
            getstatic io.netty.channel.CombinedChannelDuplexHandler.$assertionsDisabled:Z
            ifne 1
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.ctx:Lio/netty/channel/ChannelHandlerContext;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 357
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            getfield io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.removed:Z
            ifne 4
         2: .line 358
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundHandler:Lio/netty/channel/ChannelOutboundHandler;
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            invokeinterface io.netty.channel.ChannelOutboundHandler.flush:(Lio/netty/channel/ChannelHandlerContext;)V
         3: .line 359
            goto 5
         4: .line 360
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.CombinedChannelDuplexHandler.outboundCtx:Lio/netty/channel/CombinedChannelDuplexHandler$DelegatingChannelHandlerContext;
            invokevirtual io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.flush:()Lio/netty/channel/ChannelHandlerContext;
            pop
         5: .line 362
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.CombinedChannelDuplexHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/netty/channel/CombinedChannelDuplexHandler<TI;TO;>;
            0    6     1   ctx  Lio/netty/channel/ChannelHandlerContext;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ctx   
}
Signature: <I::Lio/netty/channel/ChannelInboundHandler;O::Lio/netty/channel/ChannelOutboundHandler;>Lio/netty/channel/ChannelDuplexHandler;
SourceFile: "CombinedChannelDuplexHandler.java"
NestMembers:
  io.netty.channel.CombinedChannelDuplexHandler$1  io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext  io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext$1
InnerClasses:
  io.netty.channel.CombinedChannelDuplexHandler$1
  private DelegatingChannelHandlerContext = io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext of io.netty.channel.CombinedChannelDuplexHandler