final class io.netty.channel.DefaultChannelPipeline$HeadContext extends io.netty.channel.AbstractChannelHandlerContext implements io.netty.channel.ChannelOutboundHandler, io.netty.channel.ChannelInboundHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: io.netty.channel.DefaultChannelPipeline$HeadContext
  super_class: io.netty.channel.AbstractChannelHandlerContext
{
  private final io.netty.channel.Channel$Unsafe unsafe;
    descriptor: Lio/netty/channel/Channel$Unsafe;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final io.netty.channel.DefaultChannelPipeline this$0;
    descriptor: Lio/netty/channel/DefaultChannelPipeline;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(io.netty.channel.DefaultChannelPipeline, io.netty.channel.DefaultChannelPipeline);
    descriptor: (Lio/netty/channel/DefaultChannelPipeline;Lio/netty/channel/DefaultChannelPipeline;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
        start local 2 // io.netty.channel.DefaultChannelPipeline pipeline
         0: .line 1333
            aload 0 /* this */
            aload 1
            putfield io.netty.channel.DefaultChannelPipeline$HeadContext.this$0:Lio/netty/channel/DefaultChannelPipeline;
         1: .line 1334
            aload 0 /* this */
            aload 2 /* pipeline */
            aconst_null
            getstatic io.netty.channel.DefaultChannelPipeline.HEAD_NAME:Ljava/lang/String;
            iconst_0
            iconst_1
            invokespecial io.netty.channel.AbstractChannelHandlerContext.<init>:(Lio/netty/channel/DefaultChannelPipeline;Lio/netty/util/concurrent/EventExecutor;Ljava/lang/String;ZZ)V
         2: .line 1335
            aload 0 /* this */
            aload 2 /* pipeline */
            invokevirtual io.netty.channel.DefaultChannelPipeline.channel:()Lio/netty/channel/Channel;
            invokeinterface io.netty.channel.Channel.unsafe:()Lio/netty/channel/Channel$Unsafe;
            putfield io.netty.channel.DefaultChannelPipeline$HeadContext.unsafe:Lio/netty/channel/Channel$Unsafe;
         3: .line 1336
            aload 0 /* this */
            invokevirtual io.netty.channel.DefaultChannelPipeline$HeadContext.setAddComplete:()V
         4: .line 1337
            return
        end local 2 // io.netty.channel.DefaultChannelPipeline pipeline
        end local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lio/netty/channel/DefaultChannelPipeline$HeadContext;
            0    5     2  pipeline  Lio/netty/channel/DefaultChannelPipeline;
    MethodParameters:
          Name  Flags
      this$0    final
      pipeline  

  public io.netty.channel.ChannelHandler handler();
    descriptor: ()Lio/netty/channel/ChannelHandler;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
         0: .line 1341
            aload 0 /* this */
            areturn
        end local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/DefaultChannelPipeline$HeadContext;

  public void handlerAdded(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 1347
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/DefaultChannelPipeline$HeadContext;
            0    1     1   ctx  Lio/netty/channel/ChannelHandlerContext;
    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=0, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 1352
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/DefaultChannelPipeline$HeadContext;
            0    1     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=3, locals=4, args_size=4
        start local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext 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 1358
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline$HeadContext.unsafe:Lio/netty/channel/Channel$Unsafe;
            aload 2 /* localAddress */
            aload 3 /* promise */
            invokeinterface io.netty.channel.Channel$Unsafe.bind:(Ljava/net/SocketAddress;Lio/netty/channel/ChannelPromise;)V
         1: .line 1359
            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.DefaultChannelPipeline$HeadContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lio/netty/channel/DefaultChannelPipeline$HeadContext;
            0    2     1           ctx  Lio/netty/channel/ChannelHandlerContext;
            0    2     2  localAddress  Ljava/net/SocketAddress;
            0    2     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=4, locals=5, args_size=5
        start local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext 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 1366
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline$HeadContext.unsafe:Lio/netty/channel/Channel$Unsafe;
            aload 2 /* remoteAddress */
            aload 3 /* localAddress */
            aload 4 /* promise */
            invokeinterface io.netty.channel.Channel$Unsafe.connect:(Ljava/net/SocketAddress;Ljava/net/SocketAddress;Lio/netty/channel/ChannelPromise;)V
         1: .line 1367
            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.DefaultChannelPipeline$HeadContext this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/netty/channel/DefaultChannelPipeline$HeadContext;
            0    2     1            ctx  Lio/netty/channel/ChannelHandlerContext;
            0    2     2  remoteAddress  Ljava/net/SocketAddress;
            0    2     3   localAddress  Ljava/net/SocketAddress;
            0    2     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=2, locals=3, args_size=3
        start local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // io.netty.channel.ChannelPromise promise
         0: .line 1371
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline$HeadContext.unsafe:Lio/netty/channel/Channel$Unsafe;
            aload 2 /* promise */
            invokeinterface io.netty.channel.Channel$Unsafe.disconnect:(Lio/netty/channel/ChannelPromise;)V
         1: .line 1372
            return
        end local 2 // io.netty.channel.ChannelPromise promise
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/netty/channel/DefaultChannelPipeline$HeadContext;
            0    2     1      ctx  Lio/netty/channel/ChannelHandlerContext;
            0    2     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=2, locals=3, args_size=3
        start local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // io.netty.channel.ChannelPromise promise
         0: .line 1376
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline$HeadContext.unsafe:Lio/netty/channel/Channel$Unsafe;
            aload 2 /* promise */
            invokeinterface io.netty.channel.Channel$Unsafe.close:(Lio/netty/channel/ChannelPromise;)V
         1: .line 1377
            return
        end local 2 // io.netty.channel.ChannelPromise promise
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/netty/channel/DefaultChannelPipeline$HeadContext;
            0    2     1      ctx  Lio/netty/channel/ChannelHandlerContext;
            0    2     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=2, locals=3, args_size=3
        start local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // io.netty.channel.ChannelPromise promise
         0: .line 1381
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline$HeadContext.unsafe:Lio/netty/channel/Channel$Unsafe;
            aload 2 /* promise */
            invokeinterface io.netty.channel.Channel$Unsafe.deregister:(Lio/netty/channel/ChannelPromise;)V
         1: .line 1382
            return
        end local 2 // io.netty.channel.ChannelPromise promise
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/netty/channel/DefaultChannelPipeline$HeadContext;
            0    2     1      ctx  Lio/netty/channel/ChannelHandlerContext;
            0    2     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=1, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 1386
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline$HeadContext.unsafe:Lio/netty/channel/Channel$Unsafe;
            invokeinterface io.netty.channel.Channel$Unsafe.beginRead:()V
         1: .line 1387
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/DefaultChannelPipeline$HeadContext;
            0    2     1   ctx  Lio/netty/channel/ChannelHandlerContext;
    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=3, locals=4, args_size=4
        start local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext 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 1391
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline$HeadContext.unsafe:Lio/netty/channel/Channel$Unsafe;
            aload 2 /* msg */
            aload 3 /* promise */
            invokeinterface io.netty.channel.Channel$Unsafe.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)V
         1: .line 1392
            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.DefaultChannelPipeline$HeadContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/netty/channel/DefaultChannelPipeline$HeadContext;
            0    2     1      ctx  Lio/netty/channel/ChannelHandlerContext;
            0    2     2      msg  Ljava/lang/Object;
            0    2     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=1, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 1396
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline$HeadContext.unsafe:Lio/netty/channel/Channel$Unsafe;
            invokeinterface io.netty.channel.Channel$Unsafe.flush:()V
         1: .line 1397
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/DefaultChannelPipeline$HeadContext;
            0    2     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=2, locals=3, args_size=3
        start local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // java.lang.Throwable cause
         0: .line 1401
            aload 1 /* ctx */
            aload 2 /* cause */
            invokeinterface io.netty.channel.ChannelHandlerContext.fireExceptionCaught:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelHandlerContext;
            pop
         1: .line 1402
            return
        end local 2 // java.lang.Throwable cause
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lio/netty/channel/DefaultChannelPipeline$HeadContext;
            0    2     1    ctx  Lio/netty/channel/ChannelHandlerContext;
            0    2     2  cause  Ljava/lang/Throwable;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
       Name  Flags
      ctx    
      cause  

  public void channelRegistered(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 1406
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline$HeadContext.this$0:Lio/netty/channel/DefaultChannelPipeline;
            invokevirtual io.netty.channel.DefaultChannelPipeline.invokeHandlerAddedIfNeeded:()V
         1: .line 1407
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelRegistered:()Lio/netty/channel/ChannelHandlerContext;
            pop
         2: .line 1408
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/channel/DefaultChannelPipeline$HeadContext;
            0    3     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=1, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 1412
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelUnregistered:()Lio/netty/channel/ChannelHandlerContext;
            pop
         1: .line 1415
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline$HeadContext.this$0:Lio/netty/channel/DefaultChannelPipeline;
            getfield io.netty.channel.DefaultChannelPipeline.channel:Lio/netty/channel/Channel;
            invokeinterface io.netty.channel.Channel.isOpen:()Z
            ifne 3
         2: .line 1416
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline$HeadContext.this$0:Lio/netty/channel/DefaultChannelPipeline;
            invokevirtual io.netty.channel.DefaultChannelPipeline.destroy:()V
         3: .line 1418
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/netty/channel/DefaultChannelPipeline$HeadContext;
            0    4     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=1, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 1422
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelActive:()Lio/netty/channel/ChannelHandlerContext;
            pop
         1: .line 1424
            aload 0 /* this */
            invokevirtual io.netty.channel.DefaultChannelPipeline$HeadContext.readIfIsAutoRead:()V
         2: .line 1425
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/channel/DefaultChannelPipeline$HeadContext;
            0    3     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=1, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 1429
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelInactive:()Lio/netty/channel/ChannelHandlerContext;
            pop
         1: .line 1430
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/DefaultChannelPipeline$HeadContext;
            0    2     1   ctx  Lio/netty/channel/ChannelHandlerContext;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ctx   

  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=2, locals=3, args_size=3
        start local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // java.lang.Object msg
         0: .line 1434
            aload 1 /* ctx */
            aload 2 /* msg */
            invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelRead:(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext;
            pop
         1: .line 1435
            return
        end local 2 // java.lang.Object msg
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/DefaultChannelPipeline$HeadContext;
            0    2     1   ctx  Lio/netty/channel/ChannelHandlerContext;
            0    2     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=1, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 1439
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelReadComplete:()Lio/netty/channel/ChannelHandlerContext;
            pop
         1: .line 1441
            aload 0 /* this */
            invokevirtual io.netty.channel.DefaultChannelPipeline$HeadContext.readIfIsAutoRead:()V
         2: .line 1442
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/channel/DefaultChannelPipeline$HeadContext;
            0    3     1   ctx  Lio/netty/channel/ChannelHandlerContext;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ctx   

  private void readIfIsAutoRead();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
         0: .line 1445
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline$HeadContext.this$0:Lio/netty/channel/DefaultChannelPipeline;
            getfield io.netty.channel.DefaultChannelPipeline.channel:Lio/netty/channel/Channel;
            invokeinterface io.netty.channel.Channel.config:()Lio/netty/channel/ChannelConfig;
            invokeinterface io.netty.channel.ChannelConfig.isAutoRead:()Z
            ifeq 2
         1: .line 1446
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline$HeadContext.this$0:Lio/netty/channel/DefaultChannelPipeline;
            getfield io.netty.channel.DefaultChannelPipeline.channel:Lio/netty/channel/Channel;
            invokeinterface io.netty.channel.Channel.read:()Lio/netty/channel/Channel;
            pop
         2: .line 1448
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/channel/DefaultChannelPipeline$HeadContext;

  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=2, locals=3, args_size=3
        start local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // java.lang.Object evt
         0: .line 1452
            aload 1 /* ctx */
            aload 2 /* evt */
            invokeinterface io.netty.channel.ChannelHandlerContext.fireUserEventTriggered:(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext;
            pop
         1: .line 1453
            return
        end local 2 // java.lang.Object evt
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/DefaultChannelPipeline$HeadContext;
            0    2     1   ctx  Lio/netty/channel/ChannelHandlerContext;
            0    2     2   evt  Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ctx   
      evt   

  public void channelWritabilityChanged(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 1457
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelWritabilityChanged:()Lio/netty/channel/ChannelHandlerContext;
            pop
         1: .line 1458
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.DefaultChannelPipeline$HeadContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/DefaultChannelPipeline$HeadContext;
            0    2     1   ctx  Lio/netty/channel/ChannelHandlerContext;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ctx   
}
SourceFile: "DefaultChannelPipeline.java"
NestHost: io.netty.channel.DefaultChannelPipeline
InnerClasses:
  public abstract Unsafe = io.netty.channel.Channel$Unsafe of io.netty.channel.Channel
  final HeadContext = io.netty.channel.DefaultChannelPipeline$HeadContext of io.netty.channel.DefaultChannelPipeline