public class io.netty.channel.DefaultChannelPipeline implements io.netty.channel.ChannelPipeline
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.netty.channel.DefaultChannelPipeline
  super_class: java.lang.Object
{
  static final io.netty.util.internal.logging.InternalLogger logger;
    descriptor: Lio/netty/util/internal/logging/InternalLogger;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static final java.lang.String HEAD_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String TAIL_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final io.netty.util.concurrent.FastThreadLocal<java.util.Map<java.lang.Class<?>, java.lang.String>> nameCaches;
    descriptor: Lio/netty/util/concurrent/FastThreadLocal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lio/netty/util/concurrent/FastThreadLocal<Ljava/util/Map<Ljava/lang/Class<*>;Ljava/lang/String;>;>;

  private static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.netty.channel.DefaultChannelPipeline, io.netty.channel.MessageSizeEstimator$Handle> ESTIMATOR;
    descriptor: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lio/netty/channel/DefaultChannelPipeline;Lio/netty/channel/MessageSizeEstimator$Handle;>;

  final io.netty.channel.AbstractChannelHandlerContext head;
    descriptor: Lio/netty/channel/AbstractChannelHandlerContext;
    flags: (0x0010) ACC_FINAL

  final io.netty.channel.AbstractChannelHandlerContext tail;
    descriptor: Lio/netty/channel/AbstractChannelHandlerContext;
    flags: (0x0010) ACC_FINAL

  private final io.netty.channel.Channel channel;
    descriptor: Lio/netty/channel/Channel;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.netty.channel.ChannelFuture succeededFuture;
    descriptor: Lio/netty/channel/ChannelFuture;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.netty.channel.VoidChannelPromise voidPromise;
    descriptor: Lio/netty/channel/VoidChannelPromise;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean touch;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.Map<io.netty.util.concurrent.EventExecutorGroup, io.netty.util.concurrent.EventExecutor> childExecutors;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Lio/netty/util/concurrent/EventExecutorGroup;Lio/netty/util/concurrent/EventExecutor;>;

  private volatile io.netty.channel.MessageSizeEstimator$Handle estimatorHandle;
    descriptor: Lio/netty/channel/MessageSizeEstimator$Handle;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private boolean firstRegistration;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback pendingHandlerCallbackHead;
    descriptor: Lio/netty/channel/DefaultChannelPipeline$PendingHandlerCallback;
    flags: (0x0002) ACC_PRIVATE

  private boolean registered;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  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=3, locals=0, args_size=0
         0: .line 46
            ldc Lio/netty/channel/DefaultChannelPipeline;
            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.DefaultChannelPipeline.$assertionsDisabled:Z
         3: .line 48
            ldc Lio/netty/channel/DefaultChannelPipeline;
            invokestatic io.netty.util.internal.logging.InternalLoggerFactory.getInstance:(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger;
            putstatic io.netty.channel.DefaultChannelPipeline.logger:Lio/netty/util/internal/logging/InternalLogger;
         4: .line 50
            ldc Lio/netty/channel/DefaultChannelPipeline$HeadContext;
            invokestatic io.netty.channel.DefaultChannelPipeline.generateName0:(Ljava/lang/Class;)Ljava/lang/String;
            putstatic io.netty.channel.DefaultChannelPipeline.HEAD_NAME:Ljava/lang/String;
         5: .line 51
            ldc Lio/netty/channel/DefaultChannelPipeline$TailContext;
            invokestatic io.netty.channel.DefaultChannelPipeline.generateName0:(Ljava/lang/Class;)Ljava/lang/String;
            putstatic io.netty.channel.DefaultChannelPipeline.TAIL_NAME:Ljava/lang/String;
         6: .line 54
            new io.netty.channel.DefaultChannelPipeline$1
            dup
            invokespecial io.netty.channel.DefaultChannelPipeline$1.<init>:()V
         7: .line 53
            putstatic io.netty.channel.DefaultChannelPipeline.nameCaches:Lio/netty/util/concurrent/FastThreadLocal;
         8: .line 63
            ldc Lio/netty/channel/DefaultChannelPipeline;
            ldc Lio/netty/channel/MessageSizeEstimator$Handle;
            ldc "estimatorHandle"
         9: .line 62
            invokestatic java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
        10: .line 61
            putstatic io.netty.channel.DefaultChannelPipeline.ESTIMATOR:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
        11: .line 63
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(io.netty.channel.Channel);
    descriptor: (Lio/netty/channel/Channel;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.channel.Channel channel
         0: .line 92
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 70
            aload 0 /* this */
            invokestatic io.netty.util.ResourceLeakDetector.isEnabled:()Z
            putfield io.netty.channel.DefaultChannelPipeline.touch:Z
         2: .line 74
            aload 0 /* this */
            iconst_1
            putfield io.netty.channel.DefaultChannelPipeline.firstRegistration:Z
         3: .line 93
            aload 0 /* this */
            aload 1 /* channel */
            ldc "channel"
            invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast io.netty.channel.Channel
            putfield io.netty.channel.DefaultChannelPipeline.channel:Lio/netty/channel/Channel;
         4: .line 94
            aload 0 /* this */
            new io.netty.channel.SucceededChannelFuture
            dup
            aload 1 /* channel */
            aconst_null
            invokespecial io.netty.channel.SucceededChannelFuture.<init>:(Lio/netty/channel/Channel;Lio/netty/util/concurrent/EventExecutor;)V
            putfield io.netty.channel.DefaultChannelPipeline.succeededFuture:Lio/netty/channel/ChannelFuture;
         5: .line 95
            aload 0 /* this */
            new io.netty.channel.VoidChannelPromise
            dup
            aload 1 /* channel */
            iconst_1
            invokespecial io.netty.channel.VoidChannelPromise.<init>:(Lio/netty/channel/Channel;Z)V
            putfield io.netty.channel.DefaultChannelPipeline.voidPromise:Lio/netty/channel/VoidChannelPromise;
         6: .line 97
            aload 0 /* this */
            new io.netty.channel.DefaultChannelPipeline$TailContext
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokespecial io.netty.channel.DefaultChannelPipeline$TailContext.<init>:(Lio/netty/channel/DefaultChannelPipeline;Lio/netty/channel/DefaultChannelPipeline;)V
            putfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
         7: .line 98
            aload 0 /* this */
            new io.netty.channel.DefaultChannelPipeline$HeadContext
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokespecial io.netty.channel.DefaultChannelPipeline$HeadContext.<init>:(Lio/netty/channel/DefaultChannelPipeline;Lio/netty/channel/DefaultChannelPipeline;)V
            putfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
         8: .line 100
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            putfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
         9: .line 101
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            putfield io.netty.channel.AbstractChannelHandlerContext.prev:Lio/netty/channel/AbstractChannelHandlerContext;
        10: .line 102
            return
        end local 1 // io.netty.channel.Channel channel
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lio/netty/channel/DefaultChannelPipeline;
            0   11     1  channel  Lio/netty/channel/Channel;
    MethodParameters:
         Name  Flags
      channel  

  final io.netty.channel.MessageSizeEstimator$Handle estimatorHandle();
    descriptor: ()Lio/netty/channel/MessageSizeEstimator$Handle;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 105
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.estimatorHandle:Lio/netty/channel/MessageSizeEstimator$Handle;
            astore 1 /* handle */
        start local 1 // io.netty.channel.MessageSizeEstimator$Handle handle
         1: .line 106
            aload 1 /* handle */
            ifnonnull 5
         2: .line 107
            aload 0 /* this */
            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.getMessageSizeEstimator:()Lio/netty/channel/MessageSizeEstimator;
            invokeinterface io.netty.channel.MessageSizeEstimator.newHandle:()Lio/netty/channel/MessageSizeEstimator$Handle;
            astore 1 /* handle */
         3: .line 108
            getstatic io.netty.channel.DefaultChannelPipeline.ESTIMATOR:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
            aload 0 /* this */
            aconst_null
            aload 1 /* handle */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 5
         4: .line 109
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.estimatorHandle:Lio/netty/channel/MessageSizeEstimator$Handle;
            astore 1 /* handle */
         5: .line 112
      StackMap locals: io.netty.channel.MessageSizeEstimator$Handle
      StackMap stack:
            aload 1 /* handle */
            areturn
        end local 1 // io.netty.channel.MessageSizeEstimator$Handle handle
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lio/netty/channel/DefaultChannelPipeline;
            1    6     1  handle  Lio/netty/channel/MessageSizeEstimator$Handle;

  final java.lang.Object touch(java.lang.Object, io.netty.channel.AbstractChannelHandlerContext);
    descriptor: (Ljava/lang/Object;Lio/netty/channel/AbstractChannelHandlerContext;)Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.Object msg
        start local 2 // io.netty.channel.AbstractChannelHandlerContext next
         0: .line 116
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.touch:Z
            ifeq 1
            aload 1 /* msg */
            aload 2 /* next */
            invokestatic io.netty.util.ReferenceCountUtil.touch:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* msg */
      StackMap locals:
      StackMap stack: java.lang.Object
         2: areturn
        end local 2 // io.netty.channel.AbstractChannelHandlerContext next
        end local 1 // java.lang.Object msg
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/channel/DefaultChannelPipeline;
            0    3     1   msg  Ljava/lang/Object;
            0    3     2  next  Lio/netty/channel/AbstractChannelHandlerContext;
    MethodParameters:
      Name  Flags
      msg   
      next  

  private io.netty.channel.AbstractChannelHandlerContext newContext(io.netty.util.concurrent.EventExecutorGroup, java.lang.String, io.netty.channel.ChannelHandler);
    descriptor: (Lio/netty/util/concurrent/EventExecutorGroup;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/AbstractChannelHandlerContext;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.util.concurrent.EventExecutorGroup group
        start local 2 // java.lang.String name
        start local 3 // io.netty.channel.ChannelHandler handler
         0: .line 120
            new io.netty.channel.DefaultChannelHandlerContext
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* group */
            invokevirtual io.netty.channel.DefaultChannelPipeline.childExecutor:(Lio/netty/util/concurrent/EventExecutorGroup;)Lio/netty/util/concurrent/EventExecutor;
            aload 2 /* name */
            aload 3 /* handler */
            invokespecial io.netty.channel.DefaultChannelHandlerContext.<init>:(Lio/netty/channel/DefaultChannelPipeline;Lio/netty/util/concurrent/EventExecutor;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)V
            areturn
        end local 3 // io.netty.channel.ChannelHandler handler
        end local 2 // java.lang.String name
        end local 1 // io.netty.util.concurrent.EventExecutorGroup group
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1    group  Lio/netty/util/concurrent/EventExecutorGroup;
            0    1     2     name  Ljava/lang/String;
            0    1     3  handler  Lio/netty/channel/ChannelHandler;
    MethodParameters:
         Name  Flags
      group    
      name     
      handler  

  private io.netty.util.concurrent.EventExecutor childExecutor(io.netty.util.concurrent.EventExecutorGroup);
    descriptor: (Lio/netty/util/concurrent/EventExecutorGroup;)Lio/netty/util/concurrent/EventExecutor;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.util.concurrent.EventExecutorGroup group
         0: .line 124
            aload 1 /* group */
            ifnonnull 2
         1: .line 125
            aconst_null
            areturn
         2: .line 127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.channel:Lio/netty/channel/Channel;
            invokeinterface io.netty.channel.Channel.config:()Lio/netty/channel/ChannelConfig;
            getstatic io.netty.channel.ChannelOption.SINGLE_EVENTEXECUTOR_PER_GROUP:Lio/netty/channel/ChannelOption;
            invokeinterface io.netty.channel.ChannelConfig.getOption:(Lio/netty/channel/ChannelOption;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 2 /* pinEventExecutor */
        start local 2 // java.lang.Boolean pinEventExecutor
         3: .line 128
            aload 2 /* pinEventExecutor */
            ifnull 5
            aload 2 /* pinEventExecutor */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 5
         4: .line 129
            aload 1 /* group */
            invokeinterface io.netty.util.concurrent.EventExecutorGroup.next:()Lio/netty/util/concurrent/EventExecutor;
            areturn
         5: .line 131
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.childExecutors:Ljava/util/Map;
            astore 3 /* childExecutors */
        start local 3 // java.util.Map childExecutors
         6: .line 132
            aload 3 /* childExecutors */
            ifnonnull 8
         7: .line 134
            aload 0 /* this */
            new java.util.IdentityHashMap
            dup
            iconst_4
            invokespecial java.util.IdentityHashMap.<init>:(I)V
            dup_x1
            putfield io.netty.channel.DefaultChannelPipeline.childExecutors:Ljava/util/Map;
            astore 3 /* childExecutors */
         8: .line 138
      StackMap locals: java.util.Map
      StackMap stack:
            aload 3 /* childExecutors */
            aload 1 /* group */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.netty.util.concurrent.EventExecutor
            astore 4 /* childExecutor */
        start local 4 // io.netty.util.concurrent.EventExecutor childExecutor
         9: .line 139
            aload 4 /* childExecutor */
            ifnonnull 12
        10: .line 140
            aload 1 /* group */
            invokeinterface io.netty.util.concurrent.EventExecutorGroup.next:()Lio/netty/util/concurrent/EventExecutor;
            astore 4 /* childExecutor */
        11: .line 141
            aload 3 /* childExecutors */
            aload 1 /* group */
            aload 4 /* childExecutor */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 143
      StackMap locals: io.netty.util.concurrent.EventExecutor
      StackMap stack:
            aload 4 /* childExecutor */
            areturn
        end local 4 // io.netty.util.concurrent.EventExecutor childExecutor
        end local 3 // java.util.Map childExecutors
        end local 2 // java.lang.Boolean pinEventExecutor
        end local 1 // io.netty.util.concurrent.EventExecutorGroup group
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   13     0              this  Lio/netty/channel/DefaultChannelPipeline;
            0   13     1             group  Lio/netty/util/concurrent/EventExecutorGroup;
            3   13     2  pinEventExecutor  Ljava/lang/Boolean;
            6   13     3    childExecutors  Ljava/util/Map<Lio/netty/util/concurrent/EventExecutorGroup;Lio/netty/util/concurrent/EventExecutor;>;
            9   13     4     childExecutor  Lio/netty/util/concurrent/EventExecutor;
    MethodParameters:
       Name  Flags
      group  

  public final io.netty.channel.Channel channel();
    descriptor: ()Lio/netty/channel/Channel;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 147
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.channel:Lio/netty/channel/Channel;
            areturn
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/DefaultChannelPipeline;

  public final io.netty.channel.ChannelPipeline addFirst(java.lang.String, io.netty.channel.ChannelHandler);
    descriptor: (Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.String name
        start local 2 // io.netty.channel.ChannelHandler handler
         0: .line 152
            aload 0 /* this */
            aconst_null
            aload 1 /* name */
            aload 2 /* handler */
            invokevirtual io.netty.channel.DefaultChannelPipeline.addFirst:(Lio/netty/util/concurrent/EventExecutorGroup;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            areturn
        end local 2 // io.netty.channel.ChannelHandler handler
        end local 1 // java.lang.String name
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1     name  Ljava/lang/String;
            0    1     2  handler  Lio/netty/channel/ChannelHandler;
    MethodParameters:
         Name  Flags
      name     
      handler  

  public final io.netty.channel.ChannelPipeline addFirst(io.netty.util.concurrent.EventExecutorGroup, java.lang.String, io.netty.channel.ChannelHandler);
    descriptor: (Lio/netty/util/concurrent/EventExecutorGroup;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.util.concurrent.EventExecutorGroup group
        start local 2 // java.lang.String name
        start local 3 // io.netty.channel.ChannelHandler handler
         0: .line 158
            aload 0 /* this */
            dup
            astore 5
            monitorenter
         1: .line 159
            aload 3 /* handler */
            invokestatic io.netty.channel.DefaultChannelPipeline.checkMultiplicity:(Lio/netty/channel/ChannelHandler;)V
         2: .line 160
            aload 0 /* this */
            aload 2 /* name */
            aload 3 /* handler */
            invokevirtual io.netty.channel.DefaultChannelPipeline.filterName:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Ljava/lang/String;
            astore 2 /* name */
         3: .line 162
            aload 0 /* this */
            aload 1 /* group */
            aload 2 /* name */
            aload 3 /* handler */
            invokevirtual io.netty.channel.DefaultChannelPipeline.newContext:(Lio/netty/util/concurrent/EventExecutorGroup;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/AbstractChannelHandlerContext;
            astore 4 /* newCtx */
        start local 4 // io.netty.channel.AbstractChannelHandlerContext newCtx
         4: .line 164
            aload 0 /* this */
            aload 4 /* newCtx */
            invokevirtual io.netty.channel.DefaultChannelPipeline.addFirst0:(Lio/netty/channel/AbstractChannelHandlerContext;)V
         5: .line 169
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.registered:Z
            ifne 10
         6: .line 170
            aload 4 /* newCtx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.setAddPending:()V
         7: .line 171
            aload 0 /* this */
            aload 4 /* newCtx */
            iconst_1
            invokevirtual io.netty.channel.DefaultChannelPipeline.callHandlerCallbackLater:(Lio/netty/channel/AbstractChannelHandlerContext;Z)V
         8: .line 172
            aload 0 /* this */
            aload 5
            monitorexit
         9: areturn
        10: .line 175
      StackMap locals: io.netty.channel.AbstractChannelHandlerContext io.netty.channel.DefaultChannelPipeline
      StackMap stack:
            aload 4 /* newCtx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
            astore 6 /* executor */
        start local 6 // io.netty.util.concurrent.EventExecutor executor
        11: .line 176
            aload 6 /* executor */
            invokeinterface io.netty.util.concurrent.EventExecutor.inEventLoop:()Z
            ifne 16
        12: .line 177
            aload 4 /* newCtx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.setAddPending:()V
        13: .line 178
            aload 6 /* executor */
            new io.netty.channel.DefaultChannelPipeline$2
            dup
            aload 0 /* this */
            aload 4 /* newCtx */
            invokespecial io.netty.channel.DefaultChannelPipeline$2.<init>:(Lio/netty/channel/DefaultChannelPipeline;Lio/netty/channel/AbstractChannelHandlerContext;)V
            invokeinterface io.netty.util.concurrent.EventExecutor.execute:(Ljava/lang/Runnable;)V
        14: .line 184
            aload 0 /* this */
            aload 5
            monitorexit
        15: areturn
        end local 6 // io.netty.util.concurrent.EventExecutor executor
        16: .line 158
      StackMap locals:
      StackMap stack:
            aload 5
            monitorexit
        17: goto 20
        end local 4 // io.netty.channel.AbstractChannelHandlerContext newCtx
      StackMap locals: io.netty.channel.DefaultChannelPipeline io.netty.util.concurrent.EventExecutorGroup java.lang.String io.netty.channel.ChannelHandler top io.netty.channel.DefaultChannelPipeline
      StackMap stack: java.lang.Throwable
        18: aload 5
            monitorexit
        19: athrow
        start local 4 // io.netty.channel.AbstractChannelHandlerContext newCtx
        20: .line 187
      StackMap locals: io.netty.channel.DefaultChannelPipeline io.netty.util.concurrent.EventExecutorGroup java.lang.String io.netty.channel.ChannelHandler io.netty.channel.AbstractChannelHandlerContext
      StackMap stack:
            aload 0 /* this */
            aload 4 /* newCtx */
            invokevirtual io.netty.channel.DefaultChannelPipeline.callHandlerAdded0:(Lio/netty/channel/AbstractChannelHandlerContext;)V
        21: .line 188
            aload 0 /* this */
            areturn
        end local 4 // io.netty.channel.AbstractChannelHandlerContext newCtx
        end local 3 // io.netty.channel.ChannelHandler handler
        end local 2 // java.lang.String name
        end local 1 // io.netty.util.concurrent.EventExecutorGroup group
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0      this  Lio/netty/channel/DefaultChannelPipeline;
            0   22     1     group  Lio/netty/util/concurrent/EventExecutorGroup;
            0   22     2      name  Ljava/lang/String;
            0   22     3   handler  Lio/netty/channel/ChannelHandler;
            4   18     4    newCtx  Lio/netty/channel/AbstractChannelHandlerContext;
           20   22     4    newCtx  Lio/netty/channel/AbstractChannelHandlerContext;
           11   16     6  executor  Lio/netty/util/concurrent/EventExecutor;
      Exception table:
        from    to  target  type
           1     9      18  any
          10    15      18  any
          16    17      18  any
          18    19      18  any
    MethodParameters:
         Name  Flags
      group    
      name     
      handler  

  private void addFirst0(io.netty.channel.AbstractChannelHandlerContext);
    descriptor: (Lio/netty/channel/AbstractChannelHandlerContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.channel.AbstractChannelHandlerContext newCtx
         0: .line 192
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            getfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 2 /* nextCtx */
        start local 2 // io.netty.channel.AbstractChannelHandlerContext nextCtx
         1: .line 193
            aload 1 /* newCtx */
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            putfield io.netty.channel.AbstractChannelHandlerContext.prev:Lio/netty/channel/AbstractChannelHandlerContext;
         2: .line 194
            aload 1 /* newCtx */
            aload 2 /* nextCtx */
            putfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
         3: .line 195
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            aload 1 /* newCtx */
            putfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
         4: .line 196
            aload 2 /* nextCtx */
            aload 1 /* newCtx */
            putfield io.netty.channel.AbstractChannelHandlerContext.prev:Lio/netty/channel/AbstractChannelHandlerContext;
         5: .line 197
            return
        end local 2 // io.netty.channel.AbstractChannelHandlerContext nextCtx
        end local 1 // io.netty.channel.AbstractChannelHandlerContext newCtx
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lio/netty/channel/DefaultChannelPipeline;
            0    6     1   newCtx  Lio/netty/channel/AbstractChannelHandlerContext;
            1    6     2  nextCtx  Lio/netty/channel/AbstractChannelHandlerContext;
    MethodParameters:
        Name  Flags
      newCtx  

  public final io.netty.channel.ChannelPipeline addLast(java.lang.String, io.netty.channel.ChannelHandler);
    descriptor: (Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.String name
        start local 2 // io.netty.channel.ChannelHandler handler
         0: .line 201
            aload 0 /* this */
            aconst_null
            aload 1 /* name */
            aload 2 /* handler */
            invokevirtual io.netty.channel.DefaultChannelPipeline.addLast:(Lio/netty/util/concurrent/EventExecutorGroup;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            areturn
        end local 2 // io.netty.channel.ChannelHandler handler
        end local 1 // java.lang.String name
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1     name  Ljava/lang/String;
            0    1     2  handler  Lio/netty/channel/ChannelHandler;
    MethodParameters:
         Name  Flags
      name     
      handler  

  public final io.netty.channel.ChannelPipeline addLast(io.netty.util.concurrent.EventExecutorGroup, java.lang.String, io.netty.channel.ChannelHandler);
    descriptor: (Lio/netty/util/concurrent/EventExecutorGroup;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.util.concurrent.EventExecutorGroup group
        start local 2 // java.lang.String name
        start local 3 // io.netty.channel.ChannelHandler handler
         0: .line 207
            aload 0 /* this */
            dup
            astore 5
            monitorenter
         1: .line 208
            aload 3 /* handler */
            invokestatic io.netty.channel.DefaultChannelPipeline.checkMultiplicity:(Lio/netty/channel/ChannelHandler;)V
         2: .line 210
            aload 0 /* this */
            aload 1 /* group */
            aload 0 /* this */
            aload 2 /* name */
            aload 3 /* handler */
            invokevirtual io.netty.channel.DefaultChannelPipeline.filterName:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Ljava/lang/String;
            aload 3 /* handler */
            invokevirtual io.netty.channel.DefaultChannelPipeline.newContext:(Lio/netty/util/concurrent/EventExecutorGroup;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/AbstractChannelHandlerContext;
            astore 4 /* newCtx */
        start local 4 // io.netty.channel.AbstractChannelHandlerContext newCtx
         3: .line 212
            aload 0 /* this */
            aload 4 /* newCtx */
            invokevirtual io.netty.channel.DefaultChannelPipeline.addLast0:(Lio/netty/channel/AbstractChannelHandlerContext;)V
         4: .line 217
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.registered:Z
            ifne 9
         5: .line 218
            aload 4 /* newCtx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.setAddPending:()V
         6: .line 219
            aload 0 /* this */
            aload 4 /* newCtx */
            iconst_1
            invokevirtual io.netty.channel.DefaultChannelPipeline.callHandlerCallbackLater:(Lio/netty/channel/AbstractChannelHandlerContext;Z)V
         7: .line 220
            aload 0 /* this */
            aload 5
            monitorexit
         8: areturn
         9: .line 223
      StackMap locals: io.netty.channel.AbstractChannelHandlerContext io.netty.channel.DefaultChannelPipeline
      StackMap stack:
            aload 4 /* newCtx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
            astore 6 /* executor */
        start local 6 // io.netty.util.concurrent.EventExecutor executor
        10: .line 224
            aload 6 /* executor */
            invokeinterface io.netty.util.concurrent.EventExecutor.inEventLoop:()Z
            ifne 15
        11: .line 225
            aload 4 /* newCtx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.setAddPending:()V
        12: .line 226
            aload 6 /* executor */
            new io.netty.channel.DefaultChannelPipeline$3
            dup
            aload 0 /* this */
            aload 4 /* newCtx */
            invokespecial io.netty.channel.DefaultChannelPipeline$3.<init>:(Lio/netty/channel/DefaultChannelPipeline;Lio/netty/channel/AbstractChannelHandlerContext;)V
            invokeinterface io.netty.util.concurrent.EventExecutor.execute:(Ljava/lang/Runnable;)V
        13: .line 232
            aload 0 /* this */
            aload 5
            monitorexit
        14: areturn
        end local 6 // io.netty.util.concurrent.EventExecutor executor
        15: .line 207
      StackMap locals:
      StackMap stack:
            aload 5
            monitorexit
        16: goto 19
        end local 4 // io.netty.channel.AbstractChannelHandlerContext newCtx
      StackMap locals: io.netty.channel.DefaultChannelPipeline io.netty.util.concurrent.EventExecutorGroup java.lang.String io.netty.channel.ChannelHandler top io.netty.channel.DefaultChannelPipeline
      StackMap stack: java.lang.Throwable
        17: aload 5
            monitorexit
        18: athrow
        start local 4 // io.netty.channel.AbstractChannelHandlerContext newCtx
        19: .line 235
      StackMap locals: io.netty.channel.DefaultChannelPipeline io.netty.util.concurrent.EventExecutorGroup java.lang.String io.netty.channel.ChannelHandler io.netty.channel.AbstractChannelHandlerContext
      StackMap stack:
            aload 0 /* this */
            aload 4 /* newCtx */
            invokevirtual io.netty.channel.DefaultChannelPipeline.callHandlerAdded0:(Lio/netty/channel/AbstractChannelHandlerContext;)V
        20: .line 236
            aload 0 /* this */
            areturn
        end local 4 // io.netty.channel.AbstractChannelHandlerContext newCtx
        end local 3 // io.netty.channel.ChannelHandler handler
        end local 2 // java.lang.String name
        end local 1 // io.netty.util.concurrent.EventExecutorGroup group
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   21     0      this  Lio/netty/channel/DefaultChannelPipeline;
            0   21     1     group  Lio/netty/util/concurrent/EventExecutorGroup;
            0   21     2      name  Ljava/lang/String;
            0   21     3   handler  Lio/netty/channel/ChannelHandler;
            3   17     4    newCtx  Lio/netty/channel/AbstractChannelHandlerContext;
           19   21     4    newCtx  Lio/netty/channel/AbstractChannelHandlerContext;
           10   15     6  executor  Lio/netty/util/concurrent/EventExecutor;
      Exception table:
        from    to  target  type
           1     8      17  any
           9    14      17  any
          15    16      17  any
          17    18      17  any
    MethodParameters:
         Name  Flags
      group    
      name     
      handler  

  private void addLast0(io.netty.channel.AbstractChannelHandlerContext);
    descriptor: (Lio/netty/channel/AbstractChannelHandlerContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.channel.AbstractChannelHandlerContext newCtx
         0: .line 240
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            getfield io.netty.channel.AbstractChannelHandlerContext.prev:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 2 /* prev */
        start local 2 // io.netty.channel.AbstractChannelHandlerContext prev
         1: .line 241
            aload 1 /* newCtx */
            aload 2 /* prev */
            putfield io.netty.channel.AbstractChannelHandlerContext.prev:Lio/netty/channel/AbstractChannelHandlerContext;
         2: .line 242
            aload 1 /* newCtx */
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            putfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
         3: .line 243
            aload 2 /* prev */
            aload 1 /* newCtx */
            putfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
         4: .line 244
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            aload 1 /* newCtx */
            putfield io.netty.channel.AbstractChannelHandlerContext.prev:Lio/netty/channel/AbstractChannelHandlerContext;
         5: .line 245
            return
        end local 2 // io.netty.channel.AbstractChannelHandlerContext prev
        end local 1 // io.netty.channel.AbstractChannelHandlerContext newCtx
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lio/netty/channel/DefaultChannelPipeline;
            0    6     1  newCtx  Lio/netty/channel/AbstractChannelHandlerContext;
            1    6     2    prev  Lio/netty/channel/AbstractChannelHandlerContext;
    MethodParameters:
        Name  Flags
      newCtx  

  public final io.netty.channel.ChannelPipeline addBefore(java.lang.String, java.lang.String, io.netty.channel.ChannelHandler);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.String baseName
        start local 2 // java.lang.String name
        start local 3 // io.netty.channel.ChannelHandler handler
         0: .line 249
            aload 0 /* this */
            aconst_null
            aload 1 /* baseName */
            aload 2 /* name */
            aload 3 /* handler */
            invokevirtual io.netty.channel.DefaultChannelPipeline.addBefore:(Lio/netty/util/concurrent/EventExecutorGroup;Ljava/lang/String;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            areturn
        end local 3 // io.netty.channel.ChannelHandler handler
        end local 2 // java.lang.String name
        end local 1 // java.lang.String baseName
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1  baseName  Ljava/lang/String;
            0    1     2      name  Ljava/lang/String;
            0    1     3   handler  Lio/netty/channel/ChannelHandler;
    MethodParameters:
          Name  Flags
      baseName  
      name      
      handler   

  public final io.netty.channel.ChannelPipeline addBefore(io.netty.util.concurrent.EventExecutorGroup, java.lang.String, java.lang.String, io.netty.channel.ChannelHandler);
    descriptor: (Lio/netty/util/concurrent/EventExecutorGroup;Ljava/lang/String;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.util.concurrent.EventExecutorGroup group
        start local 2 // java.lang.String baseName
        start local 3 // java.lang.String name
        start local 4 // io.netty.channel.ChannelHandler handler
         0: .line 257
            aload 0 /* this */
            dup
            astore 7
            monitorenter
         1: .line 258
            aload 4 /* handler */
            invokestatic io.netty.channel.DefaultChannelPipeline.checkMultiplicity:(Lio/netty/channel/ChannelHandler;)V
         2: .line 259
            aload 0 /* this */
            aload 3 /* name */
            aload 4 /* handler */
            invokevirtual io.netty.channel.DefaultChannelPipeline.filterName:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Ljava/lang/String;
            astore 3 /* name */
         3: .line 260
            aload 0 /* this */
            aload 2 /* baseName */
            invokevirtual io.netty.channel.DefaultChannelPipeline.getContextOrDie:(Ljava/lang/String;)Lio/netty/channel/AbstractChannelHandlerContext;
            astore 6 /* ctx */
        start local 6 // io.netty.channel.AbstractChannelHandlerContext ctx
         4: .line 262
            aload 0 /* this */
            aload 1 /* group */
            aload 3 /* name */
            aload 4 /* handler */
            invokevirtual io.netty.channel.DefaultChannelPipeline.newContext:(Lio/netty/util/concurrent/EventExecutorGroup;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/AbstractChannelHandlerContext;
            astore 5 /* newCtx */
        start local 5 // io.netty.channel.AbstractChannelHandlerContext newCtx
         5: .line 264
            aload 6 /* ctx */
            aload 5 /* newCtx */
            invokestatic io.netty.channel.DefaultChannelPipeline.addBefore0:(Lio/netty/channel/AbstractChannelHandlerContext;Lio/netty/channel/AbstractChannelHandlerContext;)V
         6: .line 269
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.registered:Z
            ifne 11
         7: .line 270
            aload 5 /* newCtx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.setAddPending:()V
         8: .line 271
            aload 0 /* this */
            aload 5 /* newCtx */
            iconst_1
            invokevirtual io.netty.channel.DefaultChannelPipeline.callHandlerCallbackLater:(Lio/netty/channel/AbstractChannelHandlerContext;Z)V
         9: .line 272
            aload 0 /* this */
            aload 7
            monitorexit
        10: areturn
        11: .line 275
      StackMap locals: io.netty.channel.AbstractChannelHandlerContext io.netty.channel.AbstractChannelHandlerContext io.netty.channel.DefaultChannelPipeline
      StackMap stack:
            aload 5 /* newCtx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
            astore 8 /* executor */
        start local 8 // io.netty.util.concurrent.EventExecutor executor
        12: .line 276
            aload 8 /* executor */
            invokeinterface io.netty.util.concurrent.EventExecutor.inEventLoop:()Z
            ifne 17
        13: .line 277
            aload 5 /* newCtx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.setAddPending:()V
        14: .line 278
            aload 8 /* executor */
            new io.netty.channel.DefaultChannelPipeline$4
            dup
            aload 0 /* this */
            aload 5 /* newCtx */
            invokespecial io.netty.channel.DefaultChannelPipeline$4.<init>:(Lio/netty/channel/DefaultChannelPipeline;Lio/netty/channel/AbstractChannelHandlerContext;)V
            invokeinterface io.netty.util.concurrent.EventExecutor.execute:(Ljava/lang/Runnable;)V
        15: .line 284
            aload 0 /* this */
            aload 7
            monitorexit
        16: areturn
        end local 8 // io.netty.util.concurrent.EventExecutor executor
        17: .line 257
      StackMap locals:
      StackMap stack:
            aload 7
            monitorexit
        18: goto 21
        end local 6 // io.netty.channel.AbstractChannelHandlerContext ctx
        end local 5 // io.netty.channel.AbstractChannelHandlerContext newCtx
      StackMap locals: io.netty.channel.DefaultChannelPipeline io.netty.util.concurrent.EventExecutorGroup java.lang.String java.lang.String io.netty.channel.ChannelHandler top top io.netty.channel.DefaultChannelPipeline
      StackMap stack: java.lang.Throwable
        19: aload 7
            monitorexit
        20: athrow
        start local 5 // io.netty.channel.AbstractChannelHandlerContext newCtx
        start local 6 // io.netty.channel.AbstractChannelHandlerContext ctx
        21: .line 287
      StackMap locals: io.netty.channel.DefaultChannelPipeline io.netty.util.concurrent.EventExecutorGroup java.lang.String java.lang.String io.netty.channel.ChannelHandler io.netty.channel.AbstractChannelHandlerContext io.netty.channel.AbstractChannelHandlerContext
      StackMap stack:
            aload 0 /* this */
            aload 5 /* newCtx */
            invokevirtual io.netty.channel.DefaultChannelPipeline.callHandlerAdded0:(Lio/netty/channel/AbstractChannelHandlerContext;)V
        22: .line 288
            aload 0 /* this */
            areturn
        end local 6 // io.netty.channel.AbstractChannelHandlerContext ctx
        end local 5 // io.netty.channel.AbstractChannelHandlerContext newCtx
        end local 4 // io.netty.channel.ChannelHandler handler
        end local 3 // java.lang.String name
        end local 2 // java.lang.String baseName
        end local 1 // io.netty.util.concurrent.EventExecutorGroup group
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0      this  Lio/netty/channel/DefaultChannelPipeline;
            0   23     1     group  Lio/netty/util/concurrent/EventExecutorGroup;
            0   23     2  baseName  Ljava/lang/String;
            0   23     3      name  Ljava/lang/String;
            0   23     4   handler  Lio/netty/channel/ChannelHandler;
            5   19     5    newCtx  Lio/netty/channel/AbstractChannelHandlerContext;
           21   23     5    newCtx  Lio/netty/channel/AbstractChannelHandlerContext;
            4   19     6       ctx  Lio/netty/channel/AbstractChannelHandlerContext;
           21   23     6       ctx  Lio/netty/channel/AbstractChannelHandlerContext;
           12   17     8  executor  Lio/netty/util/concurrent/EventExecutor;
      Exception table:
        from    to  target  type
           1    10      19  any
          11    16      19  any
          17    18      19  any
          19    20      19  any
    MethodParameters:
          Name  Flags
      group     
      baseName  
      name      
      handler   

  private static void addBefore0(io.netty.channel.AbstractChannelHandlerContext, io.netty.channel.AbstractChannelHandlerContext);
    descriptor: (Lio/netty/channel/AbstractChannelHandlerContext;Lio/netty/channel/AbstractChannelHandlerContext;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.AbstractChannelHandlerContext ctx
        start local 1 // io.netty.channel.AbstractChannelHandlerContext newCtx
         0: .line 292
            aload 1 /* newCtx */
            aload 0 /* ctx */
            getfield io.netty.channel.AbstractChannelHandlerContext.prev:Lio/netty/channel/AbstractChannelHandlerContext;
            putfield io.netty.channel.AbstractChannelHandlerContext.prev:Lio/netty/channel/AbstractChannelHandlerContext;
         1: .line 293
            aload 1 /* newCtx */
            aload 0 /* ctx */
            putfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
         2: .line 294
            aload 0 /* ctx */
            getfield io.netty.channel.AbstractChannelHandlerContext.prev:Lio/netty/channel/AbstractChannelHandlerContext;
            aload 1 /* newCtx */
            putfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
         3: .line 295
            aload 0 /* ctx */
            aload 1 /* newCtx */
            putfield io.netty.channel.AbstractChannelHandlerContext.prev:Lio/netty/channel/AbstractChannelHandlerContext;
         4: .line 296
            return
        end local 1 // io.netty.channel.AbstractChannelHandlerContext newCtx
        end local 0 // io.netty.channel.AbstractChannelHandlerContext ctx
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0     ctx  Lio/netty/channel/AbstractChannelHandlerContext;
            0    5     1  newCtx  Lio/netty/channel/AbstractChannelHandlerContext;
    MethodParameters:
        Name  Flags
      ctx     
      newCtx  

  private java.lang.String filterName(java.lang.String, io.netty.channel.ChannelHandler);
    descriptor: (Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.String name
        start local 2 // io.netty.channel.ChannelHandler handler
         0: .line 299
            aload 1 /* name */
            ifnonnull 2
         1: .line 300
            aload 0 /* this */
            aload 2 /* handler */
            invokevirtual io.netty.channel.DefaultChannelPipeline.generateName:(Lio/netty/channel/ChannelHandler;)Ljava/lang/String;
            areturn
         2: .line 302
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual io.netty.channel.DefaultChannelPipeline.checkDuplicateName:(Ljava/lang/String;)V
         3: .line 303
            aload 1 /* name */
            areturn
        end local 2 // io.netty.channel.ChannelHandler handler
        end local 1 // java.lang.String name
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lio/netty/channel/DefaultChannelPipeline;
            0    4     1     name  Ljava/lang/String;
            0    4     2  handler  Lio/netty/channel/ChannelHandler;
    MethodParameters:
         Name  Flags
      name     
      handler  

  public final io.netty.channel.ChannelPipeline addAfter(java.lang.String, java.lang.String, io.netty.channel.ChannelHandler);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.String baseName
        start local 2 // java.lang.String name
        start local 3 // io.netty.channel.ChannelHandler handler
         0: .line 308
            aload 0 /* this */
            aconst_null
            aload 1 /* baseName */
            aload 2 /* name */
            aload 3 /* handler */
            invokevirtual io.netty.channel.DefaultChannelPipeline.addAfter:(Lio/netty/util/concurrent/EventExecutorGroup;Ljava/lang/String;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            areturn
        end local 3 // io.netty.channel.ChannelHandler handler
        end local 2 // java.lang.String name
        end local 1 // java.lang.String baseName
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1  baseName  Ljava/lang/String;
            0    1     2      name  Ljava/lang/String;
            0    1     3   handler  Lio/netty/channel/ChannelHandler;
    MethodParameters:
          Name  Flags
      baseName  
      name      
      handler   

  public final io.netty.channel.ChannelPipeline addAfter(io.netty.util.concurrent.EventExecutorGroup, java.lang.String, java.lang.String, io.netty.channel.ChannelHandler);
    descriptor: (Lio/netty/util/concurrent/EventExecutorGroup;Ljava/lang/String;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.util.concurrent.EventExecutorGroup group
        start local 2 // java.lang.String baseName
        start local 3 // java.lang.String name
        start local 4 // io.netty.channel.ChannelHandler handler
         0: .line 317
            aload 0 /* this */
            dup
            astore 7
            monitorenter
         1: .line 318
            aload 4 /* handler */
            invokestatic io.netty.channel.DefaultChannelPipeline.checkMultiplicity:(Lio/netty/channel/ChannelHandler;)V
         2: .line 319
            aload 0 /* this */
            aload 3 /* name */
            aload 4 /* handler */
            invokevirtual io.netty.channel.DefaultChannelPipeline.filterName:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Ljava/lang/String;
            astore 3 /* name */
         3: .line 320
            aload 0 /* this */
            aload 2 /* baseName */
            invokevirtual io.netty.channel.DefaultChannelPipeline.getContextOrDie:(Ljava/lang/String;)Lio/netty/channel/AbstractChannelHandlerContext;
            astore 6 /* ctx */
        start local 6 // io.netty.channel.AbstractChannelHandlerContext ctx
         4: .line 322
            aload 0 /* this */
            aload 1 /* group */
            aload 3 /* name */
            aload 4 /* handler */
            invokevirtual io.netty.channel.DefaultChannelPipeline.newContext:(Lio/netty/util/concurrent/EventExecutorGroup;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/AbstractChannelHandlerContext;
            astore 5 /* newCtx */
        start local 5 // io.netty.channel.AbstractChannelHandlerContext newCtx
         5: .line 324
            aload 6 /* ctx */
            aload 5 /* newCtx */
            invokestatic io.netty.channel.DefaultChannelPipeline.addAfter0:(Lio/netty/channel/AbstractChannelHandlerContext;Lio/netty/channel/AbstractChannelHandlerContext;)V
         6: .line 329
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.registered:Z
            ifne 11
         7: .line 330
            aload 5 /* newCtx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.setAddPending:()V
         8: .line 331
            aload 0 /* this */
            aload 5 /* newCtx */
            iconst_1
            invokevirtual io.netty.channel.DefaultChannelPipeline.callHandlerCallbackLater:(Lio/netty/channel/AbstractChannelHandlerContext;Z)V
         9: .line 332
            aload 0 /* this */
            aload 7
            monitorexit
        10: areturn
        11: .line 334
      StackMap locals: io.netty.channel.AbstractChannelHandlerContext io.netty.channel.AbstractChannelHandlerContext io.netty.channel.DefaultChannelPipeline
      StackMap stack:
            aload 5 /* newCtx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
            astore 8 /* executor */
        start local 8 // io.netty.util.concurrent.EventExecutor executor
        12: .line 335
            aload 8 /* executor */
            invokeinterface io.netty.util.concurrent.EventExecutor.inEventLoop:()Z
            ifne 17
        13: .line 336
            aload 5 /* newCtx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.setAddPending:()V
        14: .line 337
            aload 8 /* executor */
            new io.netty.channel.DefaultChannelPipeline$5
            dup
            aload 0 /* this */
            aload 5 /* newCtx */
            invokespecial io.netty.channel.DefaultChannelPipeline$5.<init>:(Lio/netty/channel/DefaultChannelPipeline;Lio/netty/channel/AbstractChannelHandlerContext;)V
            invokeinterface io.netty.util.concurrent.EventExecutor.execute:(Ljava/lang/Runnable;)V
        15: .line 343
            aload 0 /* this */
            aload 7
            monitorexit
        16: areturn
        end local 8 // io.netty.util.concurrent.EventExecutor executor
        17: .line 317
      StackMap locals:
      StackMap stack:
            aload 7
            monitorexit
        18: goto 21
        end local 6 // io.netty.channel.AbstractChannelHandlerContext ctx
        end local 5 // io.netty.channel.AbstractChannelHandlerContext newCtx
      StackMap locals: io.netty.channel.DefaultChannelPipeline io.netty.util.concurrent.EventExecutorGroup java.lang.String java.lang.String io.netty.channel.ChannelHandler top top io.netty.channel.DefaultChannelPipeline
      StackMap stack: java.lang.Throwable
        19: aload 7
            monitorexit
        20: athrow
        start local 5 // io.netty.channel.AbstractChannelHandlerContext newCtx
        start local 6 // io.netty.channel.AbstractChannelHandlerContext ctx
        21: .line 346
      StackMap locals: io.netty.channel.DefaultChannelPipeline io.netty.util.concurrent.EventExecutorGroup java.lang.String java.lang.String io.netty.channel.ChannelHandler io.netty.channel.AbstractChannelHandlerContext io.netty.channel.AbstractChannelHandlerContext
      StackMap stack:
            aload 0 /* this */
            aload 5 /* newCtx */
            invokevirtual io.netty.channel.DefaultChannelPipeline.callHandlerAdded0:(Lio/netty/channel/AbstractChannelHandlerContext;)V
        22: .line 347
            aload 0 /* this */
            areturn
        end local 6 // io.netty.channel.AbstractChannelHandlerContext ctx
        end local 5 // io.netty.channel.AbstractChannelHandlerContext newCtx
        end local 4 // io.netty.channel.ChannelHandler handler
        end local 3 // java.lang.String name
        end local 2 // java.lang.String baseName
        end local 1 // io.netty.util.concurrent.EventExecutorGroup group
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0      this  Lio/netty/channel/DefaultChannelPipeline;
            0   23     1     group  Lio/netty/util/concurrent/EventExecutorGroup;
            0   23     2  baseName  Ljava/lang/String;
            0   23     3      name  Ljava/lang/String;
            0   23     4   handler  Lio/netty/channel/ChannelHandler;
            5   19     5    newCtx  Lio/netty/channel/AbstractChannelHandlerContext;
           21   23     5    newCtx  Lio/netty/channel/AbstractChannelHandlerContext;
            4   19     6       ctx  Lio/netty/channel/AbstractChannelHandlerContext;
           21   23     6       ctx  Lio/netty/channel/AbstractChannelHandlerContext;
           12   17     8  executor  Lio/netty/util/concurrent/EventExecutor;
      Exception table:
        from    to  target  type
           1    10      19  any
          11    16      19  any
          17    18      19  any
          19    20      19  any
    MethodParameters:
          Name  Flags
      group     
      baseName  
      name      
      handler   

  private static void addAfter0(io.netty.channel.AbstractChannelHandlerContext, io.netty.channel.AbstractChannelHandlerContext);
    descriptor: (Lio/netty/channel/AbstractChannelHandlerContext;Lio/netty/channel/AbstractChannelHandlerContext;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.AbstractChannelHandlerContext ctx
        start local 1 // io.netty.channel.AbstractChannelHandlerContext newCtx
         0: .line 351
            aload 1 /* newCtx */
            aload 0 /* ctx */
            putfield io.netty.channel.AbstractChannelHandlerContext.prev:Lio/netty/channel/AbstractChannelHandlerContext;
         1: .line 352
            aload 1 /* newCtx */
            aload 0 /* ctx */
            getfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
            putfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
         2: .line 353
            aload 0 /* ctx */
            getfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
            aload 1 /* newCtx */
            putfield io.netty.channel.AbstractChannelHandlerContext.prev:Lio/netty/channel/AbstractChannelHandlerContext;
         3: .line 354
            aload 0 /* ctx */
            aload 1 /* newCtx */
            putfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
         4: .line 355
            return
        end local 1 // io.netty.channel.AbstractChannelHandlerContext newCtx
        end local 0 // io.netty.channel.AbstractChannelHandlerContext ctx
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0     ctx  Lio/netty/channel/AbstractChannelHandlerContext;
            0    5     1  newCtx  Lio/netty/channel/AbstractChannelHandlerContext;
    MethodParameters:
        Name  Flags
      ctx     
      newCtx  

  public final io.netty.channel.ChannelPipeline addFirst(io.netty.channel.ChannelHandler);
    descriptor: (Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.channel.ChannelHandler handler
         0: .line 358
            aload 0 /* this */
            aconst_null
            aload 1 /* handler */
            invokevirtual io.netty.channel.DefaultChannelPipeline.addFirst:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            areturn
        end local 1 // io.netty.channel.ChannelHandler handler
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1  handler  Lio/netty/channel/ChannelHandler;
    MethodParameters:
         Name  Flags
      handler  

  public final io.netty.channel.ChannelPipeline addFirst(io.netty.channel.ChannelHandler[]);
    descriptor: ([Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
    flags: (0x0091) ACC_PUBLIC, ACC_FINAL, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.channel.ChannelHandler[] handlers
         0: .line 363
            aload 0 /* this */
            aconst_null
            aload 1 /* handlers */
            invokevirtual io.netty.channel.DefaultChannelPipeline.addFirst:(Lio/netty/util/concurrent/EventExecutorGroup;[Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            areturn
        end local 1 // io.netty.channel.ChannelHandler[] handlers
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1  handlers  [Lio/netty/channel/ChannelHandler;
    MethodParameters:
          Name  Flags
      handlers  

  public final io.netty.channel.ChannelPipeline addFirst(io.netty.util.concurrent.EventExecutorGroup, io.netty.channel.ChannelHandler[]);
    descriptor: (Lio/netty/util/concurrent/EventExecutorGroup;[Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
    flags: (0x0091) ACC_PUBLIC, ACC_FINAL, ACC_VARARGS
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.util.concurrent.EventExecutorGroup executor
        start local 2 // io.netty.channel.ChannelHandler[] handlers
         0: .line 368
            aload 2 /* handlers */
            ifnonnull 2
         1: .line 369
            new java.lang.NullPointerException
            dup
            ldc "handlers"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 371
      StackMap locals:
      StackMap stack:
            aload 2 /* handlers */
            arraylength
            ifeq 3
            aload 2 /* handlers */
            iconst_0
            aaload
            ifnonnull 4
         3: .line 372
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
         4: .line 376
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* size */
        start local 3 // int size
         5: goto 9
         6: .line 377
      StackMap locals: int
      StackMap stack:
            aload 2 /* handlers */
            iload 3 /* size */
            aaload
            ifnonnull 8
         7: .line 378
            goto 10
         8: .line 376
      StackMap locals:
      StackMap stack:
            iinc 3 /* size */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* size */
            aload 2 /* handlers */
            arraylength
            if_icmplt 6
        10: .line 382
      StackMap locals:
      StackMap stack:
            iload 3 /* size */
            iconst_1
            isub
            istore 4 /* i */
        start local 4 // int i
        11: goto 15
        12: .line 383
      StackMap locals: int
      StackMap stack:
            aload 2 /* handlers */
            iload 4 /* i */
            aaload
            astore 5 /* h */
        start local 5 // io.netty.channel.ChannelHandler h
        13: .line 384
            aload 0 /* this */
            aload 1 /* executor */
            aconst_null
            aload 5 /* h */
            invokevirtual io.netty.channel.DefaultChannelPipeline.addFirst:(Lio/netty/util/concurrent/EventExecutorGroup;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            pop
        end local 5 // io.netty.channel.ChannelHandler h
        14: .line 382
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
        15: iload 4 /* i */
            ifge 12
        end local 4 // int i
        16: .line 387
            aload 0 /* this */
            areturn
        end local 3 // int size
        end local 2 // io.netty.channel.ChannelHandler[] handlers
        end local 1 // io.netty.util.concurrent.EventExecutorGroup executor
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Lio/netty/channel/DefaultChannelPipeline;
            0   17     1  executor  Lio/netty/util/concurrent/EventExecutorGroup;
            0   17     2  handlers  [Lio/netty/channel/ChannelHandler;
            5   17     3      size  I
           11   16     4         i  I
           13   14     5         h  Lio/netty/channel/ChannelHandler;
    MethodParameters:
          Name  Flags
      executor  
      handlers  

  public final io.netty.channel.ChannelPipeline addLast(io.netty.channel.ChannelHandler);
    descriptor: (Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.channel.ChannelHandler handler
         0: .line 391
            aload 0 /* this */
            aconst_null
            aload 1 /* handler */
            invokevirtual io.netty.channel.DefaultChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            areturn
        end local 1 // io.netty.channel.ChannelHandler handler
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1  handler  Lio/netty/channel/ChannelHandler;
    MethodParameters:
         Name  Flags
      handler  

  public final io.netty.channel.ChannelPipeline addLast(io.netty.channel.ChannelHandler[]);
    descriptor: ([Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
    flags: (0x0091) ACC_PUBLIC, ACC_FINAL, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.channel.ChannelHandler[] handlers
         0: .line 396
            aload 0 /* this */
            aconst_null
            aload 1 /* handlers */
            invokevirtual io.netty.channel.DefaultChannelPipeline.addLast:(Lio/netty/util/concurrent/EventExecutorGroup;[Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            areturn
        end local 1 // io.netty.channel.ChannelHandler[] handlers
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1  handlers  [Lio/netty/channel/ChannelHandler;
    MethodParameters:
          Name  Flags
      handlers  

  public final io.netty.channel.ChannelPipeline addLast(io.netty.util.concurrent.EventExecutorGroup, io.netty.channel.ChannelHandler[]);
    descriptor: (Lio/netty/util/concurrent/EventExecutorGroup;[Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
    flags: (0x0091) ACC_PUBLIC, ACC_FINAL, ACC_VARARGS
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.util.concurrent.EventExecutorGroup executor
        start local 2 // io.netty.channel.ChannelHandler[] handlers
         0: .line 401
            aload 2 /* handlers */
            ifnonnull 2
         1: .line 402
            new java.lang.NullPointerException
            dup
            ldc "handlers"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 405
      StackMap locals:
      StackMap stack:
            aload 2 /* handlers */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 8
      StackMap locals: io.netty.channel.DefaultChannelPipeline io.netty.util.concurrent.EventExecutorGroup io.netty.channel.ChannelHandler[] top int int io.netty.channel.ChannelHandler[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* h */
        start local 3 // io.netty.channel.ChannelHandler h
         4: .line 406
            aload 3 /* h */
            ifnonnull 6
         5: .line 407
            goto 9
         6: .line 409
      StackMap locals: io.netty.channel.DefaultChannelPipeline io.netty.util.concurrent.EventExecutorGroup io.netty.channel.ChannelHandler[] io.netty.channel.ChannelHandler int int io.netty.channel.ChannelHandler[]
      StackMap stack:
            aload 0 /* this */
            aload 1 /* executor */
            aconst_null
            aload 3 /* h */
            invokevirtual io.netty.channel.DefaultChannelPipeline.addLast:(Lio/netty/util/concurrent/EventExecutorGroup;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            pop
        end local 3 // io.netty.channel.ChannelHandler h
         7: .line 405
            iinc 4 1
      StackMap locals: io.netty.channel.DefaultChannelPipeline io.netty.util.concurrent.EventExecutorGroup io.netty.channel.ChannelHandler[] top int int io.netty.channel.ChannelHandler[]
      StackMap stack:
         8: iload 4
            iload 5
            if_icmplt 3
         9: .line 412
      StackMap locals: io.netty.channel.DefaultChannelPipeline io.netty.util.concurrent.EventExecutorGroup io.netty.channel.ChannelHandler[]
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // io.netty.channel.ChannelHandler[] handlers
        end local 1 // io.netty.util.concurrent.EventExecutorGroup executor
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lio/netty/channel/DefaultChannelPipeline;
            0   10     1  executor  Lio/netty/util/concurrent/EventExecutorGroup;
            0   10     2  handlers  [Lio/netty/channel/ChannelHandler;
            4    7     3         h  Lio/netty/channel/ChannelHandler;
    MethodParameters:
          Name  Flags
      executor  
      handlers  

  private java.lang.String generateName(io.netty.channel.ChannelHandler);
    descriptor: (Lio/netty/channel/ChannelHandler;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.channel.ChannelHandler handler
         0: .line 416
            getstatic io.netty.channel.DefaultChannelPipeline.nameCaches:Lio/netty/util/concurrent/FastThreadLocal;
            invokevirtual io.netty.util.concurrent.FastThreadLocal.get:()Ljava/lang/Object;
            checkcast java.util.Map
            astore 2 /* cache */
        start local 2 // java.util.Map cache
         1: .line 417
            aload 1 /* handler */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 3 /* handlerType */
        start local 3 // java.lang.Class handlerType
         2: .line 418
            aload 2 /* cache */
            aload 3 /* handlerType */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* name */
        start local 4 // java.lang.String name
         3: .line 419
            aload 4 /* name */
            ifnonnull 6
         4: .line 420
            aload 3 /* handlerType */
            invokestatic io.netty.channel.DefaultChannelPipeline.generateName0:(Ljava/lang/Class;)Ljava/lang/String;
            astore 4 /* name */
         5: .line 421
            aload 2 /* cache */
            aload 3 /* handlerType */
            aload 4 /* name */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 426
      StackMap locals: java.util.Map java.lang.Class java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 4 /* name */
            invokevirtual io.netty.channel.DefaultChannelPipeline.context0:(Ljava/lang/String;)Lio/netty/channel/AbstractChannelHandlerContext;
            ifnull 14
         7: .line 427
            aload 4 /* name */
            iconst_0
            aload 4 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* baseName */
        start local 5 // java.lang.String baseName
         8: .line 428
            iconst_1
            istore 6 /* i */
        start local 6 // int i
         9: .line 429
      StackMap locals: java.lang.String int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 5 /* baseName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* newName */
        start local 7 // java.lang.String newName
        10: .line 430
            aload 0 /* this */
            aload 7 /* newName */
            invokevirtual io.netty.channel.DefaultChannelPipeline.context0:(Ljava/lang/String;)Lio/netty/channel/AbstractChannelHandlerContext;
            ifnonnull 13
        11: .line 431
            aload 7 /* newName */
            astore 4 /* name */
        12: .line 432
            goto 14
        end local 7 // java.lang.String newName
        13: .line 428
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
            goto 9
        end local 6 // int i
        end local 5 // java.lang.String baseName
        14: .line 436
      StackMap locals:
      StackMap stack:
            aload 4 /* name */
            areturn
        end local 4 // java.lang.String name
        end local 3 // java.lang.Class handlerType
        end local 2 // java.util.Map cache
        end local 1 // io.netty.channel.ChannelHandler handler
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lio/netty/channel/DefaultChannelPipeline;
            0   15     1      handler  Lio/netty/channel/ChannelHandler;
            1   15     2        cache  Ljava/util/Map<Ljava/lang/Class<*>;Ljava/lang/String;>;
            2   15     3  handlerType  Ljava/lang/Class<*>;
            3   15     4         name  Ljava/lang/String;
            8   14     5     baseName  Ljava/lang/String;
            9   14     6            i  I
           10   13     7      newName  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      handler  

  private static java.lang.String generateName0(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Class handlerType
         0: .line 440
            new java.lang.StringBuilder
            dup
            aload 0 /* handlerType */
            invokestatic io.netty.util.internal.StringUtil.simpleClassName:(Ljava/lang/Class;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "#0"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.Class handlerType
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  handlerType  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
    MethodParameters:
             Name  Flags
      handlerType  

  public final io.netty.channel.ChannelPipeline remove(io.netty.channel.ChannelHandler);
    descriptor: (Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.channel.ChannelHandler handler
         0: .line 445
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* handler */
            invokevirtual io.netty.channel.DefaultChannelPipeline.getContextOrDie:(Lio/netty/channel/ChannelHandler;)Lio/netty/channel/AbstractChannelHandlerContext;
            invokevirtual io.netty.channel.DefaultChannelPipeline.remove:(Lio/netty/channel/AbstractChannelHandlerContext;)Lio/netty/channel/AbstractChannelHandlerContext;
            pop
         1: .line 446
            aload 0 /* this */
            areturn
        end local 1 // io.netty.channel.ChannelHandler handler
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/netty/channel/DefaultChannelPipeline;
            0    2     1  handler  Lio/netty/channel/ChannelHandler;
    MethodParameters:
         Name  Flags
      handler  

  public final io.netty.channel.ChannelHandler remove(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/netty/channel/ChannelHandler;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.String name
         0: .line 451
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual io.netty.channel.DefaultChannelPipeline.getContextOrDie:(Ljava/lang/String;)Lio/netty/channel/AbstractChannelHandlerContext;
            invokevirtual io.netty.channel.DefaultChannelPipeline.remove:(Lio/netty/channel/AbstractChannelHandlerContext;)Lio/netty/channel/AbstractChannelHandlerContext;
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.handler:()Lio/netty/channel/ChannelHandler;
            areturn
        end local 1 // java.lang.String name
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public final <T extends io.netty.channel.ChannelHandler> T remove(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Lio/netty/channel/ChannelHandler;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.Class handlerType
         0: .line 457
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* handlerType */
            invokevirtual io.netty.channel.DefaultChannelPipeline.getContextOrDie:(Ljava/lang/Class;)Lio/netty/channel/AbstractChannelHandlerContext;
            invokevirtual io.netty.channel.DefaultChannelPipeline.remove:(Lio/netty/channel/AbstractChannelHandlerContext;)Lio/netty/channel/AbstractChannelHandlerContext;
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.handler:()Lio/netty/channel/ChannelHandler;
            areturn
        end local 1 // java.lang.Class handlerType
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1  handlerType  Ljava/lang/Class<TT;>;
    Signature: <T::Lio/netty/channel/ChannelHandler;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
             Name  Flags
      handlerType  

  public final <T extends io.netty.channel.ChannelHandler> T removeIfExists(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/netty/channel/ChannelHandler;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.String name
         0: .line 461
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual io.netty.channel.DefaultChannelPipeline.context:(Ljava/lang/String;)Lio/netty/channel/ChannelHandlerContext;
            invokevirtual io.netty.channel.DefaultChannelPipeline.removeIfExists:(Lio/netty/channel/ChannelHandlerContext;)Lio/netty/channel/ChannelHandler;
            areturn
        end local 1 // java.lang.String name
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1  name  Ljava/lang/String;
    Signature: <T::Lio/netty/channel/ChannelHandler;>(Ljava/lang/String;)TT;
    MethodParameters:
      Name  Flags
      name  

  public final <T extends io.netty.channel.ChannelHandler> T removeIfExists(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Lio/netty/channel/ChannelHandler;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.Class handlerType
         0: .line 465
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* handlerType */
            invokevirtual io.netty.channel.DefaultChannelPipeline.context:(Ljava/lang/Class;)Lio/netty/channel/ChannelHandlerContext;
            invokevirtual io.netty.channel.DefaultChannelPipeline.removeIfExists:(Lio/netty/channel/ChannelHandlerContext;)Lio/netty/channel/ChannelHandler;
            areturn
        end local 1 // java.lang.Class handlerType
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1  handlerType  Ljava/lang/Class<TT;>;
    Signature: <T::Lio/netty/channel/ChannelHandler;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
             Name  Flags
      handlerType  

  public final <T extends io.netty.channel.ChannelHandler> T removeIfExists(io.netty.channel.ChannelHandler);
    descriptor: (Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelHandler;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.channel.ChannelHandler handler
         0: .line 469
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* handler */
            invokevirtual io.netty.channel.DefaultChannelPipeline.context:(Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelHandlerContext;
            invokevirtual io.netty.channel.DefaultChannelPipeline.removeIfExists:(Lio/netty/channel/ChannelHandlerContext;)Lio/netty/channel/ChannelHandler;
            areturn
        end local 1 // io.netty.channel.ChannelHandler handler
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1  handler  Lio/netty/channel/ChannelHandler;
    Signature: <T::Lio/netty/channel/ChannelHandler;>(Lio/netty/channel/ChannelHandler;)TT;
    MethodParameters:
         Name  Flags
      handler  

  private <T extends io.netty.channel.ChannelHandler> T removeIfExists(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)Lio/netty/channel/ChannelHandler;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 474
            aload 1 /* ctx */
            ifnonnull 2
         1: .line 475
            aconst_null
            areturn
         2: .line 477
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ctx */
            checkcast io.netty.channel.AbstractChannelHandlerContext
            invokevirtual io.netty.channel.DefaultChannelPipeline.remove:(Lio/netty/channel/AbstractChannelHandlerContext;)Lio/netty/channel/AbstractChannelHandlerContext;
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.handler:()Lio/netty/channel/ChannelHandler;
            areturn
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/channel/DefaultChannelPipeline;
            0    3     1   ctx  Lio/netty/channel/ChannelHandlerContext;
    Signature: <T::Lio/netty/channel/ChannelHandler;>(Lio/netty/channel/ChannelHandlerContext;)TT;
    MethodParameters:
      Name  Flags
      ctx   

  private io.netty.channel.AbstractChannelHandlerContext remove(io.netty.channel.AbstractChannelHandlerContext);
    descriptor: (Lio/netty/channel/AbstractChannelHandlerContext;)Lio/netty/channel/AbstractChannelHandlerContext;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.channel.AbstractChannelHandlerContext ctx
         0: .line 481
            getstatic io.netty.channel.DefaultChannelPipeline.$assertionsDisabled:Z
            ifne 2
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            if_acmpeq 1
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            if_acmpne 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 483
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         3: .line 484
            aload 1 /* ctx */
            invokestatic io.netty.channel.DefaultChannelPipeline.remove0:(Lio/netty/channel/AbstractChannelHandlerContext;)V
         4: .line 489
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.registered:Z
            ifne 8
         5: .line 490
            aload 0 /* this */
            aload 1 /* ctx */
            iconst_0
            invokevirtual io.netty.channel.DefaultChannelPipeline.callHandlerCallbackLater:(Lio/netty/channel/AbstractChannelHandlerContext;Z)V
         6: .line 491
            aload 1 /* ctx */
            aload 2
            monitorexit
         7: areturn
         8: .line 494
      StackMap locals: io.netty.channel.DefaultChannelPipeline
      StackMap stack:
            aload 1 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
            astore 3 /* executor */
        start local 3 // io.netty.util.concurrent.EventExecutor executor
         9: .line 495
            aload 3 /* executor */
            invokeinterface io.netty.util.concurrent.EventExecutor.inEventLoop:()Z
            ifne 13
        10: .line 496
            aload 3 /* executor */
            new io.netty.channel.DefaultChannelPipeline$6
            dup
            aload 0 /* this */
            aload 1 /* ctx */
            invokespecial io.netty.channel.DefaultChannelPipeline$6.<init>:(Lio/netty/channel/DefaultChannelPipeline;Lio/netty/channel/AbstractChannelHandlerContext;)V
            invokeinterface io.netty.util.concurrent.EventExecutor.execute:(Ljava/lang/Runnable;)V
        11: .line 502
            aload 1 /* ctx */
            aload 2
            monitorexit
        12: areturn
        end local 3 // io.netty.util.concurrent.EventExecutor executor
        13: .line 483
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        14: goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: aload 2
            monitorexit
        16: athrow
        17: .line 505
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ctx */
            invokevirtual io.netty.channel.DefaultChannelPipeline.callHandlerRemoved0:(Lio/netty/channel/AbstractChannelHandlerContext;)V
        18: .line 506
            aload 1 /* ctx */
            areturn
        end local 1 // io.netty.channel.AbstractChannelHandlerContext ctx
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   19     0      this  Lio/netty/channel/DefaultChannelPipeline;
            0   19     1       ctx  Lio/netty/channel/AbstractChannelHandlerContext;
            9   13     3  executor  Lio/netty/util/concurrent/EventExecutor;
      Exception table:
        from    to  target  type
           3     7      15  any
           8    12      15  any
          13    14      15  any
          15    16      15  any
    MethodParameters:
      Name  Flags
      ctx   final

  private static void remove0(io.netty.channel.AbstractChannelHandlerContext);
    descriptor: (Lio/netty/channel/AbstractChannelHandlerContext;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // io.netty.channel.AbstractChannelHandlerContext ctx
         0: .line 510
            aload 0 /* ctx */
            getfield io.netty.channel.AbstractChannelHandlerContext.prev:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 1 /* prev */
        start local 1 // io.netty.channel.AbstractChannelHandlerContext prev
         1: .line 511
            aload 0 /* ctx */
            getfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 2 /* next */
        start local 2 // io.netty.channel.AbstractChannelHandlerContext next
         2: .line 512
            aload 1 /* prev */
            aload 2 /* next */
            putfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
         3: .line 513
            aload 2 /* next */
            aload 1 /* prev */
            putfield io.netty.channel.AbstractChannelHandlerContext.prev:Lio/netty/channel/AbstractChannelHandlerContext;
         4: .line 514
            return
        end local 2 // io.netty.channel.AbstractChannelHandlerContext next
        end local 1 // io.netty.channel.AbstractChannelHandlerContext prev
        end local 0 // io.netty.channel.AbstractChannelHandlerContext ctx
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   ctx  Lio/netty/channel/AbstractChannelHandlerContext;
            1    5     1  prev  Lio/netty/channel/AbstractChannelHandlerContext;
            2    5     2  next  Lio/netty/channel/AbstractChannelHandlerContext;
    MethodParameters:
      Name  Flags
      ctx   

  public final io.netty.channel.ChannelHandler removeFirst();
    descriptor: ()Lio/netty/channel/ChannelHandler;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 518
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            getfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            if_acmpne 2
         1: .line 519
            new java.util.NoSuchElementException
            dup
            invokespecial java.util.NoSuchElementException.<init>:()V
            athrow
         2: .line 521
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            getfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
            invokevirtual io.netty.channel.DefaultChannelPipeline.remove:(Lio/netty/channel/AbstractChannelHandlerContext;)Lio/netty/channel/AbstractChannelHandlerContext;
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.handler:()Lio/netty/channel/ChannelHandler;
            areturn
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/channel/DefaultChannelPipeline;

  public final io.netty.channel.ChannelHandler removeLast();
    descriptor: ()Lio/netty/channel/ChannelHandler;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 526
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            getfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            if_acmpne 2
         1: .line 527
            new java.util.NoSuchElementException
            dup
            invokespecial java.util.NoSuchElementException.<init>:()V
            athrow
         2: .line 529
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            getfield io.netty.channel.AbstractChannelHandlerContext.prev:Lio/netty/channel/AbstractChannelHandlerContext;
            invokevirtual io.netty.channel.DefaultChannelPipeline.remove:(Lio/netty/channel/AbstractChannelHandlerContext;)Lio/netty/channel/AbstractChannelHandlerContext;
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.handler:()Lio/netty/channel/ChannelHandler;
            areturn
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/channel/DefaultChannelPipeline;

  public final io.netty.channel.ChannelPipeline replace(io.netty.channel.ChannelHandler, java.lang.String, io.netty.channel.ChannelHandler);
    descriptor: (Lio/netty/channel/ChannelHandler;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.channel.ChannelHandler oldHandler
        start local 2 // java.lang.String newName
        start local 3 // io.netty.channel.ChannelHandler newHandler
         0: .line 534
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* oldHandler */
            invokevirtual io.netty.channel.DefaultChannelPipeline.getContextOrDie:(Lio/netty/channel/ChannelHandler;)Lio/netty/channel/AbstractChannelHandlerContext;
            aload 2 /* newName */
            aload 3 /* newHandler */
            invokevirtual io.netty.channel.DefaultChannelPipeline.replace:(Lio/netty/channel/AbstractChannelHandlerContext;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelHandler;
            pop
         1: .line 535
            aload 0 /* this */
            areturn
        end local 3 // io.netty.channel.ChannelHandler newHandler
        end local 2 // java.lang.String newName
        end local 1 // io.netty.channel.ChannelHandler oldHandler
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lio/netty/channel/DefaultChannelPipeline;
            0    2     1  oldHandler  Lio/netty/channel/ChannelHandler;
            0    2     2     newName  Ljava/lang/String;
            0    2     3  newHandler  Lio/netty/channel/ChannelHandler;
    MethodParameters:
            Name  Flags
      oldHandler  
      newName     
      newHandler  

  public final io.netty.channel.ChannelHandler replace(java.lang.String, java.lang.String, io.netty.channel.ChannelHandler);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelHandler;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.String oldName
        start local 2 // java.lang.String newName
        start local 3 // io.netty.channel.ChannelHandler newHandler
         0: .line 540
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* oldName */
            invokevirtual io.netty.channel.DefaultChannelPipeline.getContextOrDie:(Ljava/lang/String;)Lio/netty/channel/AbstractChannelHandlerContext;
            aload 2 /* newName */
            aload 3 /* newHandler */
            invokevirtual io.netty.channel.DefaultChannelPipeline.replace:(Lio/netty/channel/AbstractChannelHandlerContext;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelHandler;
            areturn
        end local 3 // io.netty.channel.ChannelHandler newHandler
        end local 2 // java.lang.String newName
        end local 1 // java.lang.String oldName
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1     oldName  Ljava/lang/String;
            0    1     2     newName  Ljava/lang/String;
            0    1     3  newHandler  Lio/netty/channel/ChannelHandler;
    MethodParameters:
            Name  Flags
      oldName     
      newName     
      newHandler  

  public final <T extends io.netty.channel.ChannelHandler> T replace(java.lang.Class<T>, java.lang.String, io.netty.channel.ChannelHandler);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelHandler;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.Class oldHandlerType
        start local 2 // java.lang.String newName
        start local 3 // io.netty.channel.ChannelHandler newHandler
         0: .line 547
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* oldHandlerType */
            invokevirtual io.netty.channel.DefaultChannelPipeline.getContextOrDie:(Ljava/lang/Class;)Lio/netty/channel/AbstractChannelHandlerContext;
            aload 2 /* newName */
            aload 3 /* newHandler */
            invokevirtual io.netty.channel.DefaultChannelPipeline.replace:(Lio/netty/channel/AbstractChannelHandlerContext;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelHandler;
            areturn
        end local 3 // io.netty.channel.ChannelHandler newHandler
        end local 2 // java.lang.String newName
        end local 1 // java.lang.Class oldHandlerType
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1  oldHandlerType  Ljava/lang/Class<TT;>;
            0    1     2         newName  Ljava/lang/String;
            0    1     3      newHandler  Lio/netty/channel/ChannelHandler;
    Signature: <T::Lio/netty/channel/ChannelHandler;>(Ljava/lang/Class<TT;>;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)TT;
    MethodParameters:
                Name  Flags
      oldHandlerType  
      newName         
      newHandler      

  private io.netty.channel.ChannelHandler replace(io.netty.channel.AbstractChannelHandlerContext, java.lang.String, io.netty.channel.ChannelHandler);
    descriptor: (Lio/netty/channel/AbstractChannelHandlerContext;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelHandler;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.channel.AbstractChannelHandlerContext ctx
        start local 2 // java.lang.String newName
        start local 3 // io.netty.channel.ChannelHandler newHandler
         0: .line 552
            getstatic io.netty.channel.DefaultChannelPipeline.$assertionsDisabled:Z
            ifne 2
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            if_acmpeq 1
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            if_acmpne 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 555
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 5
            monitorenter
         3: .line 556
            aload 3 /* newHandler */
            invokestatic io.netty.channel.DefaultChannelPipeline.checkMultiplicity:(Lio/netty/channel/ChannelHandler;)V
         4: .line 557
            aload 2 /* newName */
            ifnonnull 7
         5: .line 558
            aload 0 /* this */
            aload 3 /* newHandler */
            invokevirtual io.netty.channel.DefaultChannelPipeline.generateName:(Lio/netty/channel/ChannelHandler;)Ljava/lang/String;
            astore 2 /* newName */
         6: .line 559
            goto 10
         7: .line 560
      StackMap locals: io.netty.channel.DefaultChannelPipeline io.netty.channel.AbstractChannelHandlerContext java.lang.String io.netty.channel.ChannelHandler top io.netty.channel.DefaultChannelPipeline
      StackMap stack:
            aload 1 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.name:()Ljava/lang/String;
            aload 2 /* newName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            istore 6 /* sameName */
        start local 6 // boolean sameName
         8: .line 561
            iload 6 /* sameName */
            ifne 10
         9: .line 562
            aload 0 /* this */
            aload 2 /* newName */
            invokevirtual io.netty.channel.DefaultChannelPipeline.checkDuplicateName:(Ljava/lang/String;)V
        end local 6 // boolean sameName
        10: .line 566
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ctx */
            getfield io.netty.channel.AbstractChannelHandlerContext.executor:Lio/netty/util/concurrent/EventExecutor;
            aload 2 /* newName */
            aload 3 /* newHandler */
            invokevirtual io.netty.channel.DefaultChannelPipeline.newContext:(Lio/netty/util/concurrent/EventExecutorGroup;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/AbstractChannelHandlerContext;
            astore 4 /* newCtx */
        start local 4 // io.netty.channel.AbstractChannelHandlerContext newCtx
        11: .line 568
            aload 1 /* ctx */
            aload 4 /* newCtx */
            invokestatic io.netty.channel.DefaultChannelPipeline.replace0:(Lio/netty/channel/AbstractChannelHandlerContext;Lio/netty/channel/AbstractChannelHandlerContext;)V
        12: .line 574
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.registered:Z
            ifne 17
        13: .line 575
            aload 0 /* this */
            aload 4 /* newCtx */
            iconst_1
            invokevirtual io.netty.channel.DefaultChannelPipeline.callHandlerCallbackLater:(Lio/netty/channel/AbstractChannelHandlerContext;Z)V
        14: .line 576
            aload 0 /* this */
            aload 1 /* ctx */
            iconst_0
            invokevirtual io.netty.channel.DefaultChannelPipeline.callHandlerCallbackLater:(Lio/netty/channel/AbstractChannelHandlerContext;Z)V
        15: .line 577
            aload 1 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.handler:()Lio/netty/channel/ChannelHandler;
            aload 5
            monitorexit
        16: areturn
        17: .line 579
      StackMap locals: io.netty.channel.DefaultChannelPipeline io.netty.channel.AbstractChannelHandlerContext java.lang.String io.netty.channel.ChannelHandler io.netty.channel.AbstractChannelHandlerContext io.netty.channel.DefaultChannelPipeline
      StackMap stack:
            aload 1 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
            astore 6 /* executor */
        start local 6 // io.netty.util.concurrent.EventExecutor executor
        18: .line 580
            aload 6 /* executor */
            invokeinterface io.netty.util.concurrent.EventExecutor.inEventLoop:()Z
            ifne 22
        19: .line 581
            aload 6 /* executor */
            new io.netty.channel.DefaultChannelPipeline$7
            dup
            aload 0 /* this */
            aload 4 /* newCtx */
            aload 1 /* ctx */
            invokespecial io.netty.channel.DefaultChannelPipeline$7.<init>:(Lio/netty/channel/DefaultChannelPipeline;Lio/netty/channel/AbstractChannelHandlerContext;Lio/netty/channel/AbstractChannelHandlerContext;)V
            invokeinterface io.netty.util.concurrent.EventExecutor.execute:(Ljava/lang/Runnable;)V
        20: .line 591
            aload 1 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.handler:()Lio/netty/channel/ChannelHandler;
            aload 5
            monitorexit
        21: areturn
        end local 6 // io.netty.util.concurrent.EventExecutor executor
        22: .line 555
      StackMap locals:
      StackMap stack:
            aload 5
            monitorexit
        23: goto 26
        end local 4 // io.netty.channel.AbstractChannelHandlerContext newCtx
      StackMap locals: io.netty.channel.DefaultChannelPipeline io.netty.channel.AbstractChannelHandlerContext java.lang.String io.netty.channel.ChannelHandler top io.netty.channel.DefaultChannelPipeline
      StackMap stack: java.lang.Throwable
        24: aload 5
            monitorexit
        25: athrow
        start local 4 // io.netty.channel.AbstractChannelHandlerContext newCtx
        26: .line 597
      StackMap locals: io.netty.channel.DefaultChannelPipeline io.netty.channel.AbstractChannelHandlerContext java.lang.String io.netty.channel.ChannelHandler io.netty.channel.AbstractChannelHandlerContext
      StackMap stack:
            aload 0 /* this */
            aload 4 /* newCtx */
            invokevirtual io.netty.channel.DefaultChannelPipeline.callHandlerAdded0:(Lio/netty/channel/AbstractChannelHandlerContext;)V
        27: .line 598
            aload 0 /* this */
            aload 1 /* ctx */
            invokevirtual io.netty.channel.DefaultChannelPipeline.callHandlerRemoved0:(Lio/netty/channel/AbstractChannelHandlerContext;)V
        28: .line 599
            aload 1 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.handler:()Lio/netty/channel/ChannelHandler;
            areturn
        end local 4 // io.netty.channel.AbstractChannelHandlerContext newCtx
        end local 3 // io.netty.channel.ChannelHandler newHandler
        end local 2 // java.lang.String newName
        end local 1 // io.netty.channel.AbstractChannelHandlerContext ctx
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   29     0        this  Lio/netty/channel/DefaultChannelPipeline;
            0   29     1         ctx  Lio/netty/channel/AbstractChannelHandlerContext;
            0   29     2     newName  Ljava/lang/String;
            0   29     3  newHandler  Lio/netty/channel/ChannelHandler;
           11   24     4      newCtx  Lio/netty/channel/AbstractChannelHandlerContext;
           26   29     4      newCtx  Lio/netty/channel/AbstractChannelHandlerContext;
            8   10     6    sameName  Z
           18   22     6    executor  Lio/netty/util/concurrent/EventExecutor;
      Exception table:
        from    to  target  type
           3    16      24  any
          17    21      24  any
          22    23      24  any
          24    25      24  any
    MethodParameters:
            Name  Flags
      ctx         final
      newName     
      newHandler  

  private static void replace0(io.netty.channel.AbstractChannelHandlerContext, io.netty.channel.AbstractChannelHandlerContext);
    descriptor: (Lio/netty/channel/AbstractChannelHandlerContext;Lio/netty/channel/AbstractChannelHandlerContext;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // io.netty.channel.AbstractChannelHandlerContext oldCtx
        start local 1 // io.netty.channel.AbstractChannelHandlerContext newCtx
         0: .line 603
            aload 0 /* oldCtx */
            getfield io.netty.channel.AbstractChannelHandlerContext.prev:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 2 /* prev */
        start local 2 // io.netty.channel.AbstractChannelHandlerContext prev
         1: .line 604
            aload 0 /* oldCtx */
            getfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 3 /* next */
        start local 3 // io.netty.channel.AbstractChannelHandlerContext next
         2: .line 605
            aload 1 /* newCtx */
            aload 2 /* prev */
            putfield io.netty.channel.AbstractChannelHandlerContext.prev:Lio/netty/channel/AbstractChannelHandlerContext;
         3: .line 606
            aload 1 /* newCtx */
            aload 3 /* next */
            putfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
         4: .line 612
            aload 2 /* prev */
            aload 1 /* newCtx */
            putfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
         5: .line 613
            aload 3 /* next */
            aload 1 /* newCtx */
            putfield io.netty.channel.AbstractChannelHandlerContext.prev:Lio/netty/channel/AbstractChannelHandlerContext;
         6: .line 616
            aload 0 /* oldCtx */
            aload 1 /* newCtx */
            putfield io.netty.channel.AbstractChannelHandlerContext.prev:Lio/netty/channel/AbstractChannelHandlerContext;
         7: .line 617
            aload 0 /* oldCtx */
            aload 1 /* newCtx */
            putfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
         8: .line 618
            return
        end local 3 // io.netty.channel.AbstractChannelHandlerContext next
        end local 2 // io.netty.channel.AbstractChannelHandlerContext prev
        end local 1 // io.netty.channel.AbstractChannelHandlerContext newCtx
        end local 0 // io.netty.channel.AbstractChannelHandlerContext oldCtx
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0  oldCtx  Lio/netty/channel/AbstractChannelHandlerContext;
            0    9     1  newCtx  Lio/netty/channel/AbstractChannelHandlerContext;
            1    9     2    prev  Lio/netty/channel/AbstractChannelHandlerContext;
            2    9     3    next  Lio/netty/channel/AbstractChannelHandlerContext;
    MethodParameters:
        Name  Flags
      oldCtx  
      newCtx  

  private static void checkMultiplicity(io.netty.channel.ChannelHandler);
    descriptor: (Lio/netty/channel/ChannelHandler;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // io.netty.channel.ChannelHandler handler
         0: .line 621
            aload 0 /* handler */
            instanceof io.netty.channel.ChannelHandlerAdapter
            ifeq 9
         1: .line 622
            aload 0 /* handler */
            checkcast io.netty.channel.ChannelHandlerAdapter
            astore 1 /* h */
        start local 1 // io.netty.channel.ChannelHandlerAdapter h
         2: .line 623
            aload 1 /* h */
            invokevirtual io.netty.channel.ChannelHandlerAdapter.isSharable:()Z
            ifne 8
            aload 1 /* h */
            getfield io.netty.channel.ChannelHandlerAdapter.added:Z
            ifeq 8
         3: .line 624
            new io.netty.channel.ChannelPipelineException
            dup
         4: .line 625
            new java.lang.StringBuilder
            dup
            aload 1 /* h */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 626
            ldc " is not a @Sharable handler, so can't be added or removed multiple times."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 625
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 624
            invokespecial io.netty.channel.ChannelPipelineException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 628
      StackMap locals: io.netty.channel.ChannelHandlerAdapter
      StackMap stack:
            aload 1 /* h */
            iconst_1
            putfield io.netty.channel.ChannelHandlerAdapter.added:Z
        end local 1 // io.netty.channel.ChannelHandlerAdapter h
         9: .line 630
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.netty.channel.ChannelHandler handler
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0  handler  Lio/netty/channel/ChannelHandler;
            2    9     1        h  Lio/netty/channel/ChannelHandlerAdapter;
    MethodParameters:
         Name  Flags
      handler  

  private void callHandlerAdded0(io.netty.channel.AbstractChannelHandlerContext);
    descriptor: (Lio/netty/channel/AbstractChannelHandlerContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.channel.AbstractChannelHandlerContext ctx
         0: .line 636
            aload 1 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.setAddComplete:()V
         1: .line 637
            aload 1 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.handler:()Lio/netty/channel/ChannelHandler;
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandler.handlerAdded:(Lio/netty/channel/ChannelHandlerContext;)V
         2: .line 638
            goto 31
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 2 /* t */
        start local 2 // java.lang.Throwable t
         4: .line 639
            iconst_0
            istore 3 /* removed */
        start local 3 // boolean removed
         5: .line 641
            aload 1 /* ctx */
            invokestatic io.netty.channel.DefaultChannelPipeline.remove0:(Lio/netty/channel/AbstractChannelHandlerContext;)V
         6: .line 643
            aload 1 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.handler:()Lio/netty/channel/ChannelHandler;
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandler.handlerRemoved:(Lio/netty/channel/ChannelHandlerContext;)V
         7: .line 644
            goto 11
      StackMap locals: io.netty.channel.DefaultChannelPipeline io.netty.channel.AbstractChannelHandlerContext java.lang.Throwable int
      StackMap stack: java.lang.Throwable
         8: astore 4
         9: .line 645
            aload 1 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.setRemoved:()V
        10: .line 646
            aload 4
            athrow
        11: .line 645
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.setRemoved:()V
        12: .line 647
            iconst_1
            istore 3 /* removed */
        13: .line 648
            goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 4 /* t2 */
        start local 4 // java.lang.Throwable t2
        15: .line 649
            getstatic io.netty.channel.DefaultChannelPipeline.logger:Lio/netty/util/internal/logging/InternalLogger;
            invokeinterface io.netty.util.internal.logging.InternalLogger.isWarnEnabled:()Z
            ifeq 17
        16: .line 650
            getstatic io.netty.channel.DefaultChannelPipeline.logger:Lio/netty/util/internal/logging/InternalLogger;
            new java.lang.StringBuilder
            dup
            ldc "Failed to remove a handler: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* t2 */
            invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 4 // java.lang.Throwable t2
        17: .line 654
      StackMap locals:
      StackMap stack:
            iload 3 /* removed */
            ifeq 25
        18: .line 655
            aload 0 /* this */
            new io.netty.channel.ChannelPipelineException
            dup
        19: .line 656
            new java.lang.StringBuilder
            dup
            aload 1 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.handler:()Lio/netty/channel/ChannelHandler;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        20: .line 657
            ldc ".handlerAdded() has thrown an exception; removed."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 656
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 657
            aload 2 /* t */
            invokespecial io.netty.channel.ChannelPipelineException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
        23: .line 655
            invokevirtual io.netty.channel.DefaultChannelPipeline.fireExceptionCaught:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPipeline;
            pop
        24: .line 658
            goto 31
        25: .line 659
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new io.netty.channel.ChannelPipelineException
            dup
        26: .line 660
            new java.lang.StringBuilder
            dup
            aload 1 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.handler:()Lio/netty/channel/ChannelHandler;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        27: .line 661
            ldc ".handlerAdded() has thrown an exception; also failed to remove."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        28: .line 660
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        29: .line 661
            aload 2 /* t */
            invokespecial io.netty.channel.ChannelPipelineException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
        30: .line 659
            invokevirtual io.netty.channel.DefaultChannelPipeline.fireExceptionCaught:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPipeline;
            pop
        end local 3 // boolean removed
        end local 2 // java.lang.Throwable t
        31: .line 664
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.netty.channel.AbstractChannelHandlerContext ctx
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   32     0     this  Lio/netty/channel/DefaultChannelPipeline;
            0   32     1      ctx  Lio/netty/channel/AbstractChannelHandlerContext;
            4   31     2        t  Ljava/lang/Throwable;
            5   31     3  removed  Z
           15   17     4       t2  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.Throwable
           6     8       8  any
           5    13      14  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      ctx   final

  private void callHandlerRemoved0(io.netty.channel.AbstractChannelHandlerContext);
    descriptor: (Lio/netty/channel/AbstractChannelHandlerContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.channel.AbstractChannelHandlerContext ctx
         0: .line 670
            aload 1 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.handler:()Lio/netty/channel/ChannelHandler;
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandler.handlerRemoved:(Lio/netty/channel/ChannelHandlerContext;)V
         1: .line 671
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 2
         3: .line 672
            aload 1 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.setRemoved:()V
         4: .line 673
            aload 2
            athrow
         5: .line 672
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.setRemoved:()V
         6: .line 674
            goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 2 /* t */
        start local 2 // java.lang.Throwable t
         8: .line 675
            aload 0 /* this */
            new io.netty.channel.ChannelPipelineException
            dup
         9: .line 676
            new java.lang.StringBuilder
            dup
            aload 1 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.handler:()Lio/netty/channel/ChannelHandler;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".handlerRemoved() has thrown an exception."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* t */
            invokespecial io.netty.channel.ChannelPipelineException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
        10: .line 675
            invokevirtual io.netty.channel.DefaultChannelPipeline.fireExceptionCaught:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPipeline;
            pop
        end local 2 // java.lang.Throwable t
        11: .line 678
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.netty.channel.AbstractChannelHandlerContext ctx
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lio/netty/channel/DefaultChannelPipeline;
            0   12     1   ctx  Lio/netty/channel/AbstractChannelHandlerContext;
            8   11     2     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     2       2  any
           0     6       7  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      ctx   final

  final void invokeHandlerAddedIfNeeded();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 681
            getstatic io.netty.channel.DefaultChannelPipeline.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.channel:Lio/netty/channel/Channel;
            invokeinterface io.netty.channel.Channel.eventLoop:()Lio/netty/channel/EventLoop;
            invokeinterface io.netty.channel.EventLoop.inEventLoop:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 682
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.firstRegistration:Z
            ifeq 4
         2: .line 683
            aload 0 /* this */
            iconst_0
            putfield io.netty.channel.DefaultChannelPipeline.firstRegistration:Z
         3: .line 686
            aload 0 /* this */
            invokevirtual io.netty.channel.DefaultChannelPipeline.callHandlerAddedForAllHandlers:()V
         4: .line 688
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/netty/channel/DefaultChannelPipeline;

  public final io.netty.channel.ChannelHandler first();
    descriptor: ()Lio/netty/channel/ChannelHandler;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 692
            aload 0 /* this */
            invokevirtual io.netty.channel.DefaultChannelPipeline.firstContext:()Lio/netty/channel/ChannelHandlerContext;
            astore 1 /* first */
        start local 1 // io.netty.channel.ChannelHandlerContext first
         1: .line 693
            aload 1 /* first */
            ifnonnull 3
         2: .line 694
            aconst_null
            areturn
         3: .line 696
      StackMap locals: io.netty.channel.ChannelHandlerContext
      StackMap stack:
            aload 1 /* first */
            invokeinterface io.netty.channel.ChannelHandlerContext.handler:()Lio/netty/channel/ChannelHandler;
            areturn
        end local 1 // io.netty.channel.ChannelHandlerContext first
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lio/netty/channel/DefaultChannelPipeline;
            1    4     1  first  Lio/netty/channel/ChannelHandlerContext;

  public final io.netty.channel.ChannelHandlerContext firstContext();
    descriptor: ()Lio/netty/channel/ChannelHandlerContext;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 701
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            getfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 1 /* first */
        start local 1 // io.netty.channel.AbstractChannelHandlerContext first
         1: .line 702
            aload 1 /* first */
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            if_acmpne 3
         2: .line 703
            aconst_null
            areturn
         3: .line 705
      StackMap locals: io.netty.channel.AbstractChannelHandlerContext
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            getfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
            areturn
        end local 1 // io.netty.channel.AbstractChannelHandlerContext first
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lio/netty/channel/DefaultChannelPipeline;
            1    4     1  first  Lio/netty/channel/AbstractChannelHandlerContext;

  public final io.netty.channel.ChannelHandler last();
    descriptor: ()Lio/netty/channel/ChannelHandler;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 710
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            getfield io.netty.channel.AbstractChannelHandlerContext.prev:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 1 /* last */
        start local 1 // io.netty.channel.AbstractChannelHandlerContext last
         1: .line 711
            aload 1 /* last */
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            if_acmpne 3
         2: .line 712
            aconst_null
            areturn
         3: .line 714
      StackMap locals: io.netty.channel.AbstractChannelHandlerContext
      StackMap stack:
            aload 1 /* last */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.handler:()Lio/netty/channel/ChannelHandler;
            areturn
        end local 1 // io.netty.channel.AbstractChannelHandlerContext last
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/netty/channel/DefaultChannelPipeline;
            1    4     1  last  Lio/netty/channel/AbstractChannelHandlerContext;

  public final io.netty.channel.ChannelHandlerContext lastContext();
    descriptor: ()Lio/netty/channel/ChannelHandlerContext;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 719
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            getfield io.netty.channel.AbstractChannelHandlerContext.prev:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 1 /* last */
        start local 1 // io.netty.channel.AbstractChannelHandlerContext last
         1: .line 720
            aload 1 /* last */
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            if_acmpne 3
         2: .line 721
            aconst_null
            areturn
         3: .line 723
      StackMap locals: io.netty.channel.AbstractChannelHandlerContext
      StackMap stack:
            aload 1 /* last */
            areturn
        end local 1 // io.netty.channel.AbstractChannelHandlerContext last
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/netty/channel/DefaultChannelPipeline;
            1    4     1  last  Lio/netty/channel/AbstractChannelHandlerContext;

  public final io.netty.channel.ChannelHandler get(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/netty/channel/ChannelHandler;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.String name
         0: .line 728
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual io.netty.channel.DefaultChannelPipeline.context:(Ljava/lang/String;)Lio/netty/channel/ChannelHandlerContext;
            astore 2 /* ctx */
        start local 2 // io.netty.channel.ChannelHandlerContext ctx
         1: .line 729
            aload 2 /* ctx */
            ifnonnull 3
         2: .line 730
            aconst_null
            areturn
         3: .line 732
      StackMap locals: io.netty.channel.ChannelHandlerContext
      StackMap stack:
            aload 2 /* ctx */
            invokeinterface io.netty.channel.ChannelHandlerContext.handler:()Lio/netty/channel/ChannelHandler;
            areturn
        end local 2 // io.netty.channel.ChannelHandlerContext ctx
        end local 1 // java.lang.String name
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/netty/channel/DefaultChannelPipeline;
            0    4     1  name  Ljava/lang/String;
            1    4     2   ctx  Lio/netty/channel/ChannelHandlerContext;
    MethodParameters:
      Name  Flags
      name  

  public final <T extends io.netty.channel.ChannelHandler> T get(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Lio/netty/channel/ChannelHandler;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.Class handlerType
         0: .line 739
            aload 0 /* this */
            aload 1 /* handlerType */
            invokevirtual io.netty.channel.DefaultChannelPipeline.context:(Ljava/lang/Class;)Lio/netty/channel/ChannelHandlerContext;
            astore 2 /* ctx */
        start local 2 // io.netty.channel.ChannelHandlerContext ctx
         1: .line 740
            aload 2 /* ctx */
            ifnonnull 3
         2: .line 741
            aconst_null
            areturn
         3: .line 743
      StackMap locals: io.netty.channel.ChannelHandlerContext
      StackMap stack:
            aload 2 /* ctx */
            invokeinterface io.netty.channel.ChannelHandlerContext.handler:()Lio/netty/channel/ChannelHandler;
            areturn
        end local 2 // io.netty.channel.ChannelHandlerContext ctx
        end local 1 // java.lang.Class handlerType
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lio/netty/channel/DefaultChannelPipeline;
            0    4     1  handlerType  Ljava/lang/Class<TT;>;
            1    4     2          ctx  Lio/netty/channel/ChannelHandlerContext;
    Signature: <T::Lio/netty/channel/ChannelHandler;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
             Name  Flags
      handlerType  

  public final io.netty.channel.ChannelHandlerContext context(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/netty/channel/ChannelHandlerContext;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.String name
         0: .line 749
            aload 1 /* name */
            ifnonnull 2
         1: .line 750
            new java.lang.NullPointerException
            dup
            ldc "name"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 753
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual io.netty.channel.DefaultChannelPipeline.context0:(Ljava/lang/String;)Lio/netty/channel/AbstractChannelHandlerContext;
            areturn
        end local 1 // java.lang.String name
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/channel/DefaultChannelPipeline;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public final io.netty.channel.ChannelHandlerContext context(io.netty.channel.ChannelHandler);
    descriptor: (Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelHandlerContext;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.channel.ChannelHandler handler
         0: .line 758
            aload 1 /* handler */
            ifnonnull 2
         1: .line 759
            new java.lang.NullPointerException
            dup
            ldc "handler"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 762
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            getfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 2 /* ctx */
        start local 2 // io.netty.channel.AbstractChannelHandlerContext ctx
         3: .line 765
      StackMap locals: io.netty.channel.AbstractChannelHandlerContext
      StackMap stack:
            aload 2 /* ctx */
            ifnonnull 5
         4: .line 766
            aconst_null
            areturn
         5: .line 769
      StackMap locals:
      StackMap stack:
            aload 2 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.handler:()Lio/netty/channel/ChannelHandler;
            aload 1 /* handler */
            if_acmpne 7
         6: .line 770
            aload 2 /* ctx */
            areturn
         7: .line 773
      StackMap locals:
      StackMap stack:
            aload 2 /* ctx */
            getfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 2 /* ctx */
         8: .line 763
            goto 3
        end local 2 // io.netty.channel.AbstractChannelHandlerContext ctx
        end local 1 // io.netty.channel.ChannelHandler handler
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lio/netty/channel/DefaultChannelPipeline;
            0    9     1  handler  Lio/netty/channel/ChannelHandler;
            3    9     2      ctx  Lio/netty/channel/AbstractChannelHandlerContext;
    MethodParameters:
         Name  Flags
      handler  

  public final io.netty.channel.ChannelHandlerContext context(java.lang.Class<? extends io.netty.channel.ChannelHandler>);
    descriptor: (Ljava/lang/Class;)Lio/netty/channel/ChannelHandlerContext;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.Class handlerType
         0: .line 779
            aload 1 /* handlerType */
            ifnonnull 2
         1: .line 780
            new java.lang.NullPointerException
            dup
            ldc "handlerType"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 783
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            getfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 2 /* ctx */
        start local 2 // io.netty.channel.AbstractChannelHandlerContext ctx
         3: .line 785
      StackMap locals: io.netty.channel.AbstractChannelHandlerContext
      StackMap stack:
            aload 2 /* ctx */
            ifnonnull 5
         4: .line 786
            aconst_null
            areturn
         5: .line 788
      StackMap locals:
      StackMap stack:
            aload 1 /* handlerType */
            aload 2 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.handler:()Lio/netty/channel/ChannelHandler;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 7
         6: .line 789
            aload 2 /* ctx */
            areturn
         7: .line 791
      StackMap locals:
      StackMap stack:
            aload 2 /* ctx */
            getfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 2 /* ctx */
         8: .line 784
            goto 3
        end local 2 // io.netty.channel.AbstractChannelHandlerContext ctx
        end local 1 // java.lang.Class handlerType
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lio/netty/channel/DefaultChannelPipeline;
            0    9     1  handlerType  Ljava/lang/Class<+Lio/netty/channel/ChannelHandler;>;
            3    9     2          ctx  Lio/netty/channel/AbstractChannelHandlerContext;
    Signature: (Ljava/lang/Class<+Lio/netty/channel/ChannelHandler;>;)Lio/netty/channel/ChannelHandlerContext;
    MethodParameters:
             Name  Flags
      handlerType  

  public final java.util.List<java.lang.String> names();
    descriptor: ()Ljava/util/List;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 797
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* list */
        start local 1 // java.util.List list
         1: .line 798
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            getfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 2 /* ctx */
        start local 2 // io.netty.channel.AbstractChannelHandlerContext ctx
         2: .line 800
      StackMap locals: java.util.List io.netty.channel.AbstractChannelHandlerContext
      StackMap stack:
            aload 2 /* ctx */
            ifnonnull 4
         3: .line 801
            aload 1 /* list */
            areturn
         4: .line 803
      StackMap locals:
      StackMap stack:
            aload 1 /* list */
            aload 2 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.name:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 804
            aload 2 /* ctx */
            getfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 2 /* ctx */
         6: .line 799
            goto 2
        end local 2 // io.netty.channel.AbstractChannelHandlerContext ctx
        end local 1 // java.util.List list
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/netty/channel/DefaultChannelPipeline;
            1    7     1  list  Ljava/util/List<Ljava/lang/String;>;
            2    7     2   ctx  Lio/netty/channel/AbstractChannelHandlerContext;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public final java.util.Map<java.lang.String, io.netty.channel.ChannelHandler> toMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 810
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 1 /* map */
        start local 1 // java.util.Map map
         1: .line 811
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            getfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 2 /* ctx */
        start local 2 // io.netty.channel.AbstractChannelHandlerContext ctx
         2: .line 813
      StackMap locals: java.util.Map io.netty.channel.AbstractChannelHandlerContext
      StackMap stack:
            aload 2 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            if_acmpne 4
         3: .line 814
            aload 1 /* map */
            areturn
         4: .line 816
      StackMap locals:
      StackMap stack:
            aload 1 /* map */
            aload 2 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.name:()Ljava/lang/String;
            aload 2 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.handler:()Lio/netty/channel/ChannelHandler;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 817
            aload 2 /* ctx */
            getfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 2 /* ctx */
         6: .line 812
            goto 2
        end local 2 // io.netty.channel.AbstractChannelHandlerContext ctx
        end local 1 // java.util.Map map
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/netty/channel/DefaultChannelPipeline;
            1    7     1   map  Ljava/util/Map<Ljava/lang/String;Lio/netty/channel/ChannelHandler;>;
            2    7     2   ctx  Lio/netty/channel/AbstractChannelHandlerContext;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lio/netty/channel/ChannelHandler;>;

  public final java.util.Iterator<java.util.Map$Entry<java.lang.String, io.netty.channel.ChannelHandler>> iterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 823
            aload 0 /* this */
            invokevirtual io.netty.channel.DefaultChannelPipeline.toMap:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            areturn
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/DefaultChannelPipeline;
    Signature: ()Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/String;Lio/netty/channel/ChannelHandler;>;>;

  public final java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 831
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
         1: .line 832
            aload 0 /* this */
            invokestatic io.netty.util.internal.StringUtil.simpleClassName:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 833
            bipush 123
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         3: .line 831
            astore 1 /* buf */
        start local 1 // java.lang.StringBuilder buf
         4: .line 834
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            getfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 2 /* ctx */
        start local 2 // io.netty.channel.AbstractChannelHandlerContext ctx
         5: .line 836
      StackMap locals: java.lang.StringBuilder io.netty.channel.AbstractChannelHandlerContext
      StackMap stack:
            aload 2 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            if_acmpne 7
         6: .line 837
            goto 17
         7: .line 840
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         8: .line 841
            aload 2 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 842
            ldc " = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 843
            aload 2 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.handler:()Lio/netty/channel/ChannelHandler;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 844
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        12: .line 846
            aload 2 /* ctx */
            getfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 2 /* ctx */
        13: .line 847
            aload 2 /* ctx */
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            if_acmpne 15
        14: .line 848
            goto 17
        15: .line 851
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 835
            goto 5
        17: .line 853
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            bipush 125
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        18: .line 854
            aload 1 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // io.netty.channel.AbstractChannelHandlerContext ctx
        end local 1 // java.lang.StringBuilder buf
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lio/netty/channel/DefaultChannelPipeline;
            4   19     1   buf  Ljava/lang/StringBuilder;
            5   19     2   ctx  Lio/netty/channel/AbstractChannelHandlerContext;

  public final io.netty.channel.ChannelPipeline fireChannelRegistered();
    descriptor: ()Lio/netty/channel/ChannelPipeline;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 859
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            invokestatic io.netty.channel.AbstractChannelHandlerContext.invokeChannelRegistered:(Lio/netty/channel/AbstractChannelHandlerContext;)V
         1: .line 860
            aload 0 /* this */
            areturn
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/DefaultChannelPipeline;

  public final io.netty.channel.ChannelPipeline fireChannelUnregistered();
    descriptor: ()Lio/netty/channel/ChannelPipeline;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 865
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            invokestatic io.netty.channel.AbstractChannelHandlerContext.invokeChannelUnregistered:(Lio/netty/channel/AbstractChannelHandlerContext;)V
         1: .line 866
            aload 0 /* this */
            areturn
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/DefaultChannelPipeline;

  private synchronized void destroy();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 880
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            getfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
            iconst_0
            invokevirtual io.netty.channel.DefaultChannelPipeline.destroyUp:(Lio/netty/channel/AbstractChannelHandlerContext;Z)V
         1: .line 881
            return
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/DefaultChannelPipeline;

  private void destroyUp(io.netty.channel.AbstractChannelHandlerContext, boolean);
    descriptor: (Lio/netty/channel/AbstractChannelHandlerContext;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.channel.AbstractChannelHandlerContext ctx
        start local 2 // boolean inEventLoop
         0: .line 884
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            astore 3 /* currentThread */
        start local 3 // java.lang.Thread currentThread
         1: .line 885
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 4 /* tail */
        start local 4 // io.netty.channel.AbstractChannelHandlerContext tail
         2: .line 887
      StackMap locals: java.lang.Thread io.netty.channel.AbstractChannelHandlerContext
      StackMap stack:
            aload 1 /* ctx */
            aload 4 /* tail */
            if_acmpne 5
         3: .line 888
            aload 0 /* this */
            aload 3 /* currentThread */
            aload 4 /* tail */
            getfield io.netty.channel.AbstractChannelHandlerContext.prev:Lio/netty/channel/AbstractChannelHandlerContext;
            iload 2 /* inEventLoop */
            invokevirtual io.netty.channel.DefaultChannelPipeline.destroyDown:(Ljava/lang/Thread;Lio/netty/channel/AbstractChannelHandlerContext;Z)V
         4: .line 889
            goto 13
         5: .line 892
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
            astore 5 /* executor */
        start local 5 // io.netty.util.concurrent.EventExecutor executor
         6: .line 893
            iload 2 /* inEventLoop */
            ifne 10
            aload 5 /* executor */
            aload 3 /* currentThread */
            invokeinterface io.netty.util.concurrent.EventExecutor.inEventLoop:(Ljava/lang/Thread;)Z
            ifne 10
         7: .line 894
            aload 1 /* ctx */
            astore 6 /* finalCtx */
        start local 6 // io.netty.channel.AbstractChannelHandlerContext finalCtx
         8: .line 895
            aload 5 /* executor */
            new io.netty.channel.DefaultChannelPipeline$8
            dup
            aload 0 /* this */
            aload 6 /* finalCtx */
            invokespecial io.netty.channel.DefaultChannelPipeline$8.<init>:(Lio/netty/channel/DefaultChannelPipeline;Lio/netty/channel/AbstractChannelHandlerContext;)V
            invokeinterface io.netty.util.concurrent.EventExecutor.execute:(Ljava/lang/Runnable;)V
         9: .line 901
            goto 13
        end local 6 // io.netty.channel.AbstractChannelHandlerContext finalCtx
        10: .line 904
      StackMap locals: io.netty.util.concurrent.EventExecutor
      StackMap stack:
            aload 1 /* ctx */
            getfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 1 /* ctx */
        11: .line 905
            iconst_0
            istore 2 /* inEventLoop */
        end local 5 // io.netty.util.concurrent.EventExecutor executor
        12: .line 886
            goto 2
        13: .line 907
      StackMap locals:
      StackMap stack:
            return
        end local 4 // io.netty.channel.AbstractChannelHandlerContext tail
        end local 3 // java.lang.Thread currentThread
        end local 2 // boolean inEventLoop
        end local 1 // io.netty.channel.AbstractChannelHandlerContext ctx
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Lio/netty/channel/DefaultChannelPipeline;
            0   14     1            ctx  Lio/netty/channel/AbstractChannelHandlerContext;
            0   14     2    inEventLoop  Z
            1   14     3  currentThread  Ljava/lang/Thread;
            2   14     4           tail  Lio/netty/channel/AbstractChannelHandlerContext;
            6   12     5       executor  Lio/netty/util/concurrent/EventExecutor;
            8   10     6       finalCtx  Lio/netty/channel/AbstractChannelHandlerContext;
    MethodParameters:
             Name  Flags
      ctx          
      inEventLoop  

  private void destroyDown(java.lang.Thread, io.netty.channel.AbstractChannelHandlerContext, boolean);
    descriptor: (Ljava/lang/Thread;Lio/netty/channel/AbstractChannelHandlerContext;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.Thread currentThread
        start local 2 // io.netty.channel.AbstractChannelHandlerContext ctx
        start local 3 // boolean inEventLoop
         0: .line 911
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 4 /* head */
        start local 4 // io.netty.channel.AbstractChannelHandlerContext head
         1: .line 913
      StackMap locals: io.netty.channel.AbstractChannelHandlerContext
      StackMap stack:
            aload 2 /* ctx */
            aload 4 /* head */
            if_acmpne 3
         2: .line 914
            goto 19
         3: .line 917
      StackMap locals:
      StackMap stack:
            aload 2 /* ctx */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
            astore 5 /* executor */
        start local 5 // io.netty.util.concurrent.EventExecutor executor
         4: .line 918
            iload 3 /* inEventLoop */
            ifne 5
            aload 5 /* executor */
            aload 1 /* currentThread */
            invokeinterface io.netty.util.concurrent.EventExecutor.inEventLoop:(Ljava/lang/Thread;)Z
            ifeq 13
         5: .line 919
      StackMap locals: io.netty.util.concurrent.EventExecutor
      StackMap stack:
            aload 0 /* this */
            dup
            astore 6
            monitorenter
         6: .line 920
            aload 2 /* ctx */
            invokestatic io.netty.channel.DefaultChannelPipeline.remove0:(Lio/netty/channel/AbstractChannelHandlerContext;)V
         7: .line 919
            aload 6
            monitorexit
         8: goto 11
      StackMap locals: io.netty.channel.DefaultChannelPipeline java.lang.Thread io.netty.channel.AbstractChannelHandlerContext int io.netty.channel.AbstractChannelHandlerContext io.netty.util.concurrent.EventExecutor io.netty.channel.DefaultChannelPipeline
      StackMap stack: java.lang.Throwable
         9: aload 6
            monitorexit
        10: athrow
        11: .line 922
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* ctx */
            invokevirtual io.netty.channel.DefaultChannelPipeline.callHandlerRemoved0:(Lio/netty/channel/AbstractChannelHandlerContext;)V
        12: .line 923
            goto 16
        13: .line 924
      StackMap locals:
      StackMap stack:
            aload 2 /* ctx */
            astore 6 /* finalCtx */
        start local 6 // io.netty.channel.AbstractChannelHandlerContext finalCtx
        14: .line 925
            aload 5 /* executor */
            new io.netty.channel.DefaultChannelPipeline$9
            dup
            aload 0 /* this */
            aload 6 /* finalCtx */
            invokespecial io.netty.channel.DefaultChannelPipeline$9.<init>:(Lio/netty/channel/DefaultChannelPipeline;Lio/netty/channel/AbstractChannelHandlerContext;)V
            invokeinterface io.netty.util.concurrent.EventExecutor.execute:(Ljava/lang/Runnable;)V
        15: .line 931
            goto 19
        end local 6 // io.netty.channel.AbstractChannelHandlerContext finalCtx
        16: .line 934
      StackMap locals:
      StackMap stack:
            aload 2 /* ctx */
            getfield io.netty.channel.AbstractChannelHandlerContext.prev:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 2 /* ctx */
        17: .line 935
            iconst_0
            istore 3 /* inEventLoop */
        end local 5 // io.netty.util.concurrent.EventExecutor executor
        18: .line 912
            goto 1
        19: .line 937
      StackMap locals:
      StackMap stack:
            return
        end local 4 // io.netty.channel.AbstractChannelHandlerContext head
        end local 3 // boolean inEventLoop
        end local 2 // io.netty.channel.AbstractChannelHandlerContext ctx
        end local 1 // java.lang.Thread currentThread
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           this  Lio/netty/channel/DefaultChannelPipeline;
            0   20     1  currentThread  Ljava/lang/Thread;
            0   20     2            ctx  Lio/netty/channel/AbstractChannelHandlerContext;
            0   20     3    inEventLoop  Z
            1   20     4           head  Lio/netty/channel/AbstractChannelHandlerContext;
            4   18     5       executor  Lio/netty/util/concurrent/EventExecutor;
           14   16     6       finalCtx  Lio/netty/channel/AbstractChannelHandlerContext;
      Exception table:
        from    to  target  type
           6     8       9  any
           9    10       9  any
    MethodParameters:
               Name  Flags
      currentThread  
      ctx            
      inEventLoop    

  public final io.netty.channel.ChannelPipeline fireChannelActive();
    descriptor: ()Lio/netty/channel/ChannelPipeline;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 941
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            invokestatic io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive:(Lio/netty/channel/AbstractChannelHandlerContext;)V
         1: .line 942
            aload 0 /* this */
            areturn
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/DefaultChannelPipeline;

  public final io.netty.channel.ChannelPipeline fireChannelInactive();
    descriptor: ()Lio/netty/channel/ChannelPipeline;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 947
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            invokestatic io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive:(Lio/netty/channel/AbstractChannelHandlerContext;)V
         1: .line 948
            aload 0 /* this */
            areturn
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/DefaultChannelPipeline;

  public final io.netty.channel.ChannelPipeline fireExceptionCaught(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Lio/netty/channel/ChannelPipeline;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.Throwable cause
         0: .line 953
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            aload 1 /* cause */
            invokestatic io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught:(Lio/netty/channel/AbstractChannelHandlerContext;Ljava/lang/Throwable;)V
         1: .line 954
            aload 0 /* this */
            areturn
        end local 1 // java.lang.Throwable cause
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lio/netty/channel/DefaultChannelPipeline;
            0    2     1  cause  Ljava/lang/Throwable;
    MethodParameters:
       Name  Flags
      cause  

  public final io.netty.channel.ChannelPipeline fireUserEventTriggered(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lio/netty/channel/ChannelPipeline;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.Object event
         0: .line 959
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            aload 1 /* event */
            invokestatic io.netty.channel.AbstractChannelHandlerContext.invokeUserEventTriggered:(Lio/netty/channel/AbstractChannelHandlerContext;Ljava/lang/Object;)V
         1: .line 960
            aload 0 /* this */
            areturn
        end local 1 // java.lang.Object event
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lio/netty/channel/DefaultChannelPipeline;
            0    2     1  event  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      event  

  public final io.netty.channel.ChannelPipeline fireChannelRead(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lio/netty/channel/ChannelPipeline;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.Object msg
         0: .line 965
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            aload 1 /* msg */
            invokestatic io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead:(Lio/netty/channel/AbstractChannelHandlerContext;Ljava/lang/Object;)V
         1: .line 966
            aload 0 /* this */
            areturn
        end local 1 // java.lang.Object msg
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/DefaultChannelPipeline;
            0    2     1   msg  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      msg   

  public final io.netty.channel.ChannelPipeline fireChannelReadComplete();
    descriptor: ()Lio/netty/channel/ChannelPipeline;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 971
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            invokestatic io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete:(Lio/netty/channel/AbstractChannelHandlerContext;)V
         1: .line 972
            aload 0 /* this */
            areturn
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/DefaultChannelPipeline;

  public final io.netty.channel.ChannelPipeline fireChannelWritabilityChanged();
    descriptor: ()Lio/netty/channel/ChannelPipeline;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 977
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            invokestatic io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged:(Lio/netty/channel/AbstractChannelHandlerContext;)V
         1: .line 978
            aload 0 /* this */
            areturn
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/DefaultChannelPipeline;

  public final io.netty.channel.ChannelFuture bind(java.net.SocketAddress);
    descriptor: (Ljava/net/SocketAddress;)Lio/netty/channel/ChannelFuture;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.net.SocketAddress localAddress
         0: .line 983
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            aload 1 /* localAddress */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.bind:(Ljava/net/SocketAddress;)Lio/netty/channel/ChannelFuture;
            areturn
        end local 1 // java.net.SocketAddress localAddress
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1  localAddress  Ljava/net/SocketAddress;
    MethodParameters:
              Name  Flags
      localAddress  

  public final io.netty.channel.ChannelFuture connect(java.net.SocketAddress);
    descriptor: (Ljava/net/SocketAddress;)Lio/netty/channel/ChannelFuture;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.net.SocketAddress remoteAddress
         0: .line 988
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            aload 1 /* remoteAddress */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.connect:(Ljava/net/SocketAddress;)Lio/netty/channel/ChannelFuture;
            areturn
        end local 1 // java.net.SocketAddress remoteAddress
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1  remoteAddress  Ljava/net/SocketAddress;
    MethodParameters:
               Name  Flags
      remoteAddress  

  public final io.netty.channel.ChannelFuture connect(java.net.SocketAddress, java.net.SocketAddress);
    descriptor: (Ljava/net/SocketAddress;Ljava/net/SocketAddress;)Lio/netty/channel/ChannelFuture;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.net.SocketAddress remoteAddress
        start local 2 // java.net.SocketAddress localAddress
         0: .line 993
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            aload 1 /* remoteAddress */
            aload 2 /* localAddress */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.connect:(Ljava/net/SocketAddress;Ljava/net/SocketAddress;)Lio/netty/channel/ChannelFuture;
            areturn
        end local 2 // java.net.SocketAddress localAddress
        end local 1 // java.net.SocketAddress remoteAddress
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1  remoteAddress  Ljava/net/SocketAddress;
            0    1     2   localAddress  Ljava/net/SocketAddress;
    MethodParameters:
               Name  Flags
      remoteAddress  
      localAddress   

  public final io.netty.channel.ChannelFuture disconnect();
    descriptor: ()Lio/netty/channel/ChannelFuture;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 998
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.disconnect:()Lio/netty/channel/ChannelFuture;
            areturn
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/DefaultChannelPipeline;

  public final io.netty.channel.ChannelFuture close();
    descriptor: ()Lio/netty/channel/ChannelFuture;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 1003
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.close:()Lio/netty/channel/ChannelFuture;
            areturn
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/DefaultChannelPipeline;

  public final io.netty.channel.ChannelFuture deregister();
    descriptor: ()Lio/netty/channel/ChannelFuture;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 1008
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.deregister:()Lio/netty/channel/ChannelFuture;
            areturn
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/DefaultChannelPipeline;

  public final io.netty.channel.ChannelPipeline flush();
    descriptor: ()Lio/netty/channel/ChannelPipeline;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 1013
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.flush:()Lio/netty/channel/ChannelHandlerContext;
            pop
         1: .line 1014
            aload 0 /* this */
            areturn
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/DefaultChannelPipeline;

  public final io.netty.channel.ChannelFuture bind(java.net.SocketAddress, io.netty.channel.ChannelPromise);
    descriptor: (Ljava/net/SocketAddress;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.net.SocketAddress localAddress
        start local 2 // io.netty.channel.ChannelPromise promise
         0: .line 1019
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            aload 1 /* localAddress */
            aload 2 /* promise */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.bind:(Ljava/net/SocketAddress;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            areturn
        end local 2 // io.netty.channel.ChannelPromise promise
        end local 1 // java.net.SocketAddress localAddress
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1  localAddress  Ljava/net/SocketAddress;
            0    1     2       promise  Lio/netty/channel/ChannelPromise;
    MethodParameters:
              Name  Flags
      localAddress  
      promise       

  public final io.netty.channel.ChannelFuture connect(java.net.SocketAddress, io.netty.channel.ChannelPromise);
    descriptor: (Ljava/net/SocketAddress;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.net.SocketAddress remoteAddress
        start local 2 // io.netty.channel.ChannelPromise promise
         0: .line 1024
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            aload 1 /* remoteAddress */
            aload 2 /* promise */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.connect:(Ljava/net/SocketAddress;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            areturn
        end local 2 // io.netty.channel.ChannelPromise promise
        end local 1 // java.net.SocketAddress remoteAddress
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1  remoteAddress  Ljava/net/SocketAddress;
            0    1     2        promise  Lio/netty/channel/ChannelPromise;
    MethodParameters:
               Name  Flags
      remoteAddress  
      promise        

  public final io.netty.channel.ChannelFuture connect(java.net.SocketAddress, java.net.SocketAddress, io.netty.channel.ChannelPromise);
    descriptor: (Ljava/net/SocketAddress;Ljava/net/SocketAddress;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.net.SocketAddress remoteAddress
        start local 2 // java.net.SocketAddress localAddress
        start local 3 // io.netty.channel.ChannelPromise promise
         0: .line 1030
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            aload 1 /* remoteAddress */
            aload 2 /* localAddress */
            aload 3 /* promise */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.connect:(Ljava/net/SocketAddress;Ljava/net/SocketAddress;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            areturn
        end local 3 // io.netty.channel.ChannelPromise promise
        end local 2 // java.net.SocketAddress localAddress
        end local 1 // java.net.SocketAddress remoteAddress
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1  remoteAddress  Ljava/net/SocketAddress;
            0    1     2   localAddress  Ljava/net/SocketAddress;
            0    1     3        promise  Lio/netty/channel/ChannelPromise;
    MethodParameters:
               Name  Flags
      remoteAddress  
      localAddress   
      promise        

  public final io.netty.channel.ChannelFuture disconnect(io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.channel.ChannelPromise promise
         0: .line 1035
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            aload 1 /* promise */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.disconnect:(Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            areturn
        end local 1 // io.netty.channel.ChannelPromise promise
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1  promise  Lio/netty/channel/ChannelPromise;
    MethodParameters:
         Name  Flags
      promise  

  public final io.netty.channel.ChannelFuture close(io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.channel.ChannelPromise promise
         0: .line 1040
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            aload 1 /* promise */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.close:(Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            areturn
        end local 1 // io.netty.channel.ChannelPromise promise
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1  promise  Lio/netty/channel/ChannelPromise;
    MethodParameters:
         Name  Flags
      promise  

  public final io.netty.channel.ChannelFuture deregister(io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.channel.ChannelPromise promise
         0: .line 1045
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            aload 1 /* promise */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.deregister:(Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            areturn
        end local 1 // io.netty.channel.ChannelPromise promise
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1  promise  Lio/netty/channel/ChannelPromise;
    MethodParameters:
         Name  Flags
      promise  final

  public final io.netty.channel.ChannelPipeline read();
    descriptor: ()Lio/netty/channel/ChannelPipeline;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 1050
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.read:()Lio/netty/channel/ChannelHandlerContext;
            pop
         1: .line 1051
            aload 0 /* this */
            areturn
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/DefaultChannelPipeline;

  public final io.netty.channel.ChannelFuture write(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.Object msg
         0: .line 1056
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            aload 1 /* msg */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.write:(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
            areturn
        end local 1 // java.lang.Object msg
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1   msg  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      msg   

  public final io.netty.channel.ChannelFuture write(java.lang.Object, io.netty.channel.ChannelPromise);
    descriptor: (Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.Object msg
        start local 2 // io.netty.channel.ChannelPromise promise
         0: .line 1061
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            aload 1 /* msg */
            aload 2 /* promise */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            areturn
        end local 2 // io.netty.channel.ChannelPromise promise
        end local 1 // java.lang.Object msg
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1      msg  Ljava/lang/Object;
            0    1     2  promise  Lio/netty/channel/ChannelPromise;
    MethodParameters:
         Name  Flags
      msg      
      promise  

  public final io.netty.channel.ChannelFuture writeAndFlush(java.lang.Object, io.netty.channel.ChannelPromise);
    descriptor: (Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.Object msg
        start local 2 // io.netty.channel.ChannelPromise promise
         0: .line 1066
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            aload 1 /* msg */
            aload 2 /* promise */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.writeAndFlush:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            areturn
        end local 2 // io.netty.channel.ChannelPromise promise
        end local 1 // java.lang.Object msg
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1      msg  Ljava/lang/Object;
            0    1     2  promise  Lio/netty/channel/ChannelPromise;
    MethodParameters:
         Name  Flags
      msg      
      promise  

  public final io.netty.channel.ChannelFuture writeAndFlush(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.Object msg
         0: .line 1071
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            aload 1 /* msg */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.writeAndFlush:(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
            areturn
        end local 1 // java.lang.Object msg
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1   msg  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      msg   

  public final io.netty.channel.ChannelPromise newPromise();
    descriptor: ()Lio/netty/channel/ChannelPromise;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 1076
            new io.netty.channel.DefaultChannelPromise
            dup
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.channel:Lio/netty/channel/Channel;
            invokespecial io.netty.channel.DefaultChannelPromise.<init>:(Lio/netty/channel/Channel;)V
            areturn
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/DefaultChannelPipeline;

  public final io.netty.channel.ChannelProgressivePromise newProgressivePromise();
    descriptor: ()Lio/netty/channel/ChannelProgressivePromise;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 1081
            new io.netty.channel.DefaultChannelProgressivePromise
            dup
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.channel:Lio/netty/channel/Channel;
            invokespecial io.netty.channel.DefaultChannelProgressivePromise.<init>:(Lio/netty/channel/Channel;)V
            areturn
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/DefaultChannelPipeline;

  public final io.netty.channel.ChannelFuture newSucceededFuture();
    descriptor: ()Lio/netty/channel/ChannelFuture;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 1086
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.succeededFuture:Lio/netty/channel/ChannelFuture;
            areturn
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/DefaultChannelPipeline;

  public final io.netty.channel.ChannelFuture newFailedFuture(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Lio/netty/channel/ChannelFuture;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.Throwable cause
         0: .line 1091
            new io.netty.channel.FailedChannelFuture
            dup
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.channel:Lio/netty/channel/Channel;
            aconst_null
            aload 1 /* cause */
            invokespecial io.netty.channel.FailedChannelFuture.<init>:(Lio/netty/channel/Channel;Lio/netty/util/concurrent/EventExecutor;Ljava/lang/Throwable;)V
            areturn
        end local 1 // java.lang.Throwable cause
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lio/netty/channel/DefaultChannelPipeline;
            0    1     1  cause  Ljava/lang/Throwable;
    MethodParameters:
       Name  Flags
      cause  

  public final io.netty.channel.ChannelPromise voidPromise();
    descriptor: ()Lio/netty/channel/ChannelPromise;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 1096
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.voidPromise:Lio/netty/channel/VoidChannelPromise;
            areturn
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/DefaultChannelPipeline;

  private void checkDuplicateName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.String name
         0: .line 1100
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual io.netty.channel.DefaultChannelPipeline.context0:(Ljava/lang/String;)Lio/netty/channel/AbstractChannelHandlerContext;
            ifnull 2
         1: .line 1101
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Duplicate handler name: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1103
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String name
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/channel/DefaultChannelPipeline;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private io.netty.channel.AbstractChannelHandlerContext context0(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/netty/channel/AbstractChannelHandlerContext;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.String name
         0: .line 1106
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.head:Lio/netty/channel/AbstractChannelHandlerContext;
            getfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 2 /* context */
        start local 2 // io.netty.channel.AbstractChannelHandlerContext context
         1: .line 1107
            goto 5
         2: .line 1108
      StackMap locals: io.netty.channel.AbstractChannelHandlerContext
      StackMap stack:
            aload 2 /* context */
            invokevirtual io.netty.channel.AbstractChannelHandlerContext.name:()Ljava/lang/String;
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 1109
            aload 2 /* context */
            areturn
         4: .line 1111
      StackMap locals:
      StackMap stack:
            aload 2 /* context */
            getfield io.netty.channel.AbstractChannelHandlerContext.next:Lio/netty/channel/AbstractChannelHandlerContext;
            astore 2 /* context */
         5: .line 1107
      StackMap locals:
      StackMap stack:
            aload 2 /* context */
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.tail:Lio/netty/channel/AbstractChannelHandlerContext;
            if_acmpne 2
         6: .line 1113
            aconst_null
            areturn
        end local 2 // io.netty.channel.AbstractChannelHandlerContext context
        end local 1 // java.lang.String name
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lio/netty/channel/DefaultChannelPipeline;
            0    7     1     name  Ljava/lang/String;
            1    7     2  context  Lio/netty/channel/AbstractChannelHandlerContext;
    MethodParameters:
      Name  Flags
      name  

  private io.netty.channel.AbstractChannelHandlerContext getContextOrDie(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/netty/channel/AbstractChannelHandlerContext;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.String name
         0: .line 1117
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual io.netty.channel.DefaultChannelPipeline.context:(Ljava/lang/String;)Lio/netty/channel/ChannelHandlerContext;
            checkcast io.netty.channel.AbstractChannelHandlerContext
            astore 2 /* ctx */
        start local 2 // io.netty.channel.AbstractChannelHandlerContext ctx
         1: .line 1118
            aload 2 /* ctx */
            ifnonnull 3
         2: .line 1119
            new java.util.NoSuchElementException
            dup
            aload 1 /* name */
            invokespecial java.util.NoSuchElementException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1121
      StackMap locals: io.netty.channel.AbstractChannelHandlerContext
      StackMap stack:
            aload 2 /* ctx */
            areturn
        end local 2 // io.netty.channel.AbstractChannelHandlerContext ctx
        end local 1 // java.lang.String name
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/netty/channel/DefaultChannelPipeline;
            0    4     1  name  Ljava/lang/String;
            1    4     2   ctx  Lio/netty/channel/AbstractChannelHandlerContext;
    MethodParameters:
      Name  Flags
      name  

  private io.netty.channel.AbstractChannelHandlerContext getContextOrDie(io.netty.channel.ChannelHandler);
    descriptor: (Lio/netty/channel/ChannelHandler;)Lio/netty/channel/AbstractChannelHandlerContext;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.channel.ChannelHandler handler
         0: .line 1126
            aload 0 /* this */
            aload 1 /* handler */
            invokevirtual io.netty.channel.DefaultChannelPipeline.context:(Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelHandlerContext;
            checkcast io.netty.channel.AbstractChannelHandlerContext
            astore 2 /* ctx */
        start local 2 // io.netty.channel.AbstractChannelHandlerContext ctx
         1: .line 1127
            aload 2 /* ctx */
            ifnonnull 3
         2: .line 1128
            new java.util.NoSuchElementException
            dup
            aload 1 /* handler */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokespecial java.util.NoSuchElementException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1130
      StackMap locals: io.netty.channel.AbstractChannelHandlerContext
      StackMap stack:
            aload 2 /* ctx */
            areturn
        end local 2 // io.netty.channel.AbstractChannelHandlerContext ctx
        end local 1 // io.netty.channel.ChannelHandler handler
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lio/netty/channel/DefaultChannelPipeline;
            0    4     1  handler  Lio/netty/channel/ChannelHandler;
            1    4     2      ctx  Lio/netty/channel/AbstractChannelHandlerContext;
    MethodParameters:
         Name  Flags
      handler  

  private io.netty.channel.AbstractChannelHandlerContext getContextOrDie(java.lang.Class<? extends io.netty.channel.ChannelHandler>);
    descriptor: (Ljava/lang/Class;)Lio/netty/channel/AbstractChannelHandlerContext;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.Class handlerType
         0: .line 1135
            aload 0 /* this */
            aload 1 /* handlerType */
            invokevirtual io.netty.channel.DefaultChannelPipeline.context:(Ljava/lang/Class;)Lio/netty/channel/ChannelHandlerContext;
            checkcast io.netty.channel.AbstractChannelHandlerContext
            astore 2 /* ctx */
        start local 2 // io.netty.channel.AbstractChannelHandlerContext ctx
         1: .line 1136
            aload 2 /* ctx */
            ifnonnull 3
         2: .line 1137
            new java.util.NoSuchElementException
            dup
            aload 1 /* handlerType */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokespecial java.util.NoSuchElementException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1139
      StackMap locals: io.netty.channel.AbstractChannelHandlerContext
      StackMap stack:
            aload 2 /* ctx */
            areturn
        end local 2 // io.netty.channel.AbstractChannelHandlerContext ctx
        end local 1 // java.lang.Class handlerType
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lio/netty/channel/DefaultChannelPipeline;
            0    4     1  handlerType  Ljava/lang/Class<+Lio/netty/channel/ChannelHandler;>;
            1    4     2          ctx  Lio/netty/channel/AbstractChannelHandlerContext;
    Signature: (Ljava/lang/Class<+Lio/netty/channel/ChannelHandler;>;)Lio/netty/channel/AbstractChannelHandlerContext;
    MethodParameters:
             Name  Flags
      handlerType  

  private void callHandlerAddedForAllHandlers();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 1145
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 1146
            getstatic io.netty.channel.DefaultChannelPipeline.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.registered:Z
            ifeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1149
      StackMap locals: io.netty.channel.DefaultChannelPipeline top io.netty.channel.DefaultChannelPipeline
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.netty.channel.DefaultChannelPipeline.registered:Z
         3: .line 1151
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.pendingHandlerCallbackHead:Lio/netty/channel/DefaultChannelPipeline$PendingHandlerCallback;
            astore 1 /* pendingHandlerCallbackHead */
        start local 1 // io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback pendingHandlerCallbackHead
         4: .line 1153
            aload 0 /* this */
            aconst_null
            putfield io.netty.channel.DefaultChannelPipeline.pendingHandlerCallbackHead:Lio/netty/channel/DefaultChannelPipeline$PendingHandlerCallback;
         5: .line 1145
            aload 2
            monitorexit
         6: goto 9
        end local 1 // io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback pendingHandlerCallbackHead
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 2
            monitorexit
         8: athrow
        start local 1 // io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback pendingHandlerCallbackHead
         9: .line 1159
      StackMap locals: io.netty.channel.DefaultChannelPipeline io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback
      StackMap stack:
            aload 1 /* pendingHandlerCallbackHead */
            astore 2 /* task */
        start local 2 // io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback task
        10: .line 1160
            goto 13
        11: .line 1161
      StackMap locals: io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback
      StackMap stack:
            aload 2 /* task */
            invokevirtual io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback.execute:()V
        12: .line 1162
            aload 2 /* task */
            getfield io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback.next:Lio/netty/channel/DefaultChannelPipeline$PendingHandlerCallback;
            astore 2 /* task */
        13: .line 1160
      StackMap locals:
      StackMap stack:
            aload 2 /* task */
            ifnonnull 11
        14: .line 1164
            return
        end local 2 // io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback task
        end local 1 // io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback pendingHandlerCallbackHead
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   15     0                        this  Lio/netty/channel/DefaultChannelPipeline;
            4    7     1  pendingHandlerCallbackHead  Lio/netty/channel/DefaultChannelPipeline$PendingHandlerCallback;
            9   15     1  pendingHandlerCallbackHead  Lio/netty/channel/DefaultChannelPipeline$PendingHandlerCallback;
           10   15     2                        task  Lio/netty/channel/DefaultChannelPipeline$PendingHandlerCallback;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any

  private void callHandlerCallbackLater(io.netty.channel.AbstractChannelHandlerContext, boolean);
    descriptor: (Lio/netty/channel/AbstractChannelHandlerContext;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // io.netty.channel.AbstractChannelHandlerContext ctx
        start local 2 // boolean added
         0: .line 1167
            getstatic io.netty.channel.DefaultChannelPipeline.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.registered:Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1169
      StackMap locals:
      StackMap stack:
            iload 2 /* added */
            ifeq 2
            new io.netty.channel.DefaultChannelPipeline$PendingHandlerAddedTask
            dup
            aload 0 /* this */
            aload 1 /* ctx */
            invokespecial io.netty.channel.DefaultChannelPipeline$PendingHandlerAddedTask.<init>:(Lio/netty/channel/DefaultChannelPipeline;Lio/netty/channel/AbstractChannelHandlerContext;)V
            goto 3
      StackMap locals:
      StackMap stack:
         2: new io.netty.channel.DefaultChannelPipeline$PendingHandlerRemovedTask
            dup
            aload 0 /* this */
            aload 1 /* ctx */
            invokespecial io.netty.channel.DefaultChannelPipeline$PendingHandlerRemovedTask.<init>:(Lio/netty/channel/DefaultChannelPipeline;Lio/netty/channel/AbstractChannelHandlerContext;)V
      StackMap locals:
      StackMap stack: io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback
         3: astore 3 /* task */
        start local 3 // io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback task
         4: .line 1170
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.pendingHandlerCallbackHead:Lio/netty/channel/DefaultChannelPipeline$PendingHandlerCallback;
            astore 4 /* pending */
        start local 4 // io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback pending
         5: .line 1171
            aload 4 /* pending */
            ifnonnull 9
         6: .line 1172
            aload 0 /* this */
            aload 3 /* task */
            putfield io.netty.channel.DefaultChannelPipeline.pendingHandlerCallbackHead:Lio/netty/channel/DefaultChannelPipeline$PendingHandlerCallback;
         7: .line 1173
            goto 11
         8: .line 1176
      StackMap locals: io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback
      StackMap stack:
            aload 4 /* pending */
            getfield io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback.next:Lio/netty/channel/DefaultChannelPipeline$PendingHandlerCallback;
            astore 4 /* pending */
         9: .line 1175
      StackMap locals:
      StackMap stack:
            aload 4 /* pending */
            getfield io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback.next:Lio/netty/channel/DefaultChannelPipeline$PendingHandlerCallback;
            ifnonnull 8
        10: .line 1178
            aload 4 /* pending */
            aload 3 /* task */
            putfield io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback.next:Lio/netty/channel/DefaultChannelPipeline$PendingHandlerCallback;
        11: .line 1180
      StackMap locals:
      StackMap stack:
            return
        end local 4 // io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback pending
        end local 3 // io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback task
        end local 2 // boolean added
        end local 1 // io.netty.channel.AbstractChannelHandlerContext ctx
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lio/netty/channel/DefaultChannelPipeline;
            0   12     1      ctx  Lio/netty/channel/AbstractChannelHandlerContext;
            0   12     2    added  Z
            4   12     3     task  Lio/netty/channel/DefaultChannelPipeline$PendingHandlerCallback;
            5   12     4  pending  Lio/netty/channel/DefaultChannelPipeline$PendingHandlerCallback;
    MethodParameters:
       Name  Flags
      ctx    
      added  

  protected void onUnhandledInboundException(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.Throwable cause
         0: .line 1188
            getstatic io.netty.channel.DefaultChannelPipeline.logger:Lio/netty/util/internal/logging/InternalLogger;
         1: .line 1189
            ldc "An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception."
         2: .line 1191
            aload 1 /* cause */
         3: .line 1188
            invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
         4: .line 1192
            goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: astore 2
         6: .line 1193
            aload 1 /* cause */
            invokestatic io.netty.util.ReferenceCountUtil.release:(Ljava/lang/Object;)Z
            pop
         7: .line 1194
            aload 2
            athrow
         8: .line 1193
      StackMap locals:
      StackMap stack:
            aload 1 /* cause */
            invokestatic io.netty.util.ReferenceCountUtil.release:(Ljava/lang/Object;)Z
            pop
         9: .line 1195
            return
        end local 1 // java.lang.Throwable cause
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lio/netty/channel/DefaultChannelPipeline;
            0   10     1  cause  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     5       5  any
    MethodParameters:
       Name  Flags
      cause  

  protected void onUnhandledInboundChannelActive();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 1202
            return
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/DefaultChannelPipeline;

  protected void onUnhandledInboundChannelInactive();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 1209
            return
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/DefaultChannelPipeline;

  protected void onUnhandledInboundMessage(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.Object msg
         0: .line 1218
            getstatic io.netty.channel.DefaultChannelPipeline.logger:Lio/netty/util/internal/logging/InternalLogger;
         1: .line 1219
            ldc "Discarded inbound message {} that reached at the tail of the pipeline. Please check your pipeline configuration."
         2: .line 1220
            aload 1 /* msg */
         3: .line 1218
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 1221
            goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: astore 2
         6: .line 1222
            aload 1 /* msg */
            invokestatic io.netty.util.ReferenceCountUtil.release:(Ljava/lang/Object;)Z
            pop
         7: .line 1223
            aload 2
            athrow
         8: .line 1222
      StackMap locals:
      StackMap stack:
            aload 1 /* msg */
            invokestatic io.netty.util.ReferenceCountUtil.release:(Ljava/lang/Object;)Z
            pop
         9: .line 1224
            return
        end local 1 // java.lang.Object msg
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lio/netty/channel/DefaultChannelPipeline;
            0   10     1   msg  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           0     5       5  any
    MethodParameters:
      Name  Flags
      msg   

  protected void onUnhandledInboundChannelReadComplete();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 1231
            return
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/DefaultChannelPipeline;

  protected void onUnhandledInboundUserEventTriggered(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // java.lang.Object evt
         0: .line 1241
            aload 1 /* evt */
            invokestatic io.netty.util.ReferenceCountUtil.release:(Ljava/lang/Object;)Z
            pop
         1: .line 1242
            return
        end local 1 // java.lang.Object evt
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/DefaultChannelPipeline;
            0    2     1   evt  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      evt   

  protected void onUnhandledChannelWritabilityChanged();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // io.netty.channel.DefaultChannelPipeline this
         0: .line 1249
            return
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/DefaultChannelPipeline;

  protected void incrementPendingOutboundBytes(long);
    descriptor: (J)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // long size
         0: .line 1253
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.channel:Lio/netty/channel/Channel;
            invokeinterface io.netty.channel.Channel.unsafe:()Lio/netty/channel/Channel$Unsafe;
            invokeinterface io.netty.channel.Channel$Unsafe.outboundBuffer:()Lio/netty/channel/ChannelOutboundBuffer;
            astore 3 /* buffer */
        start local 3 // io.netty.channel.ChannelOutboundBuffer buffer
         1: .line 1254
            aload 3 /* buffer */
            ifnull 3
         2: .line 1255
            aload 3 /* buffer */
            lload 1 /* size */
            invokevirtual io.netty.channel.ChannelOutboundBuffer.incrementPendingOutboundBytes:(J)V
         3: .line 1257
      StackMap locals: io.netty.channel.ChannelOutboundBuffer
      StackMap stack:
            return
        end local 3 // io.netty.channel.ChannelOutboundBuffer buffer
        end local 1 // long size
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lio/netty/channel/DefaultChannelPipeline;
            0    4     1    size  J
            1    4     3  buffer  Lio/netty/channel/ChannelOutboundBuffer;
    MethodParameters:
      Name  Flags
      size  

  protected void decrementPendingOutboundBytes(long);
    descriptor: (J)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // io.netty.channel.DefaultChannelPipeline this
        start local 1 // long size
         0: .line 1261
            aload 0 /* this */
            getfield io.netty.channel.DefaultChannelPipeline.channel:Lio/netty/channel/Channel;
            invokeinterface io.netty.channel.Channel.unsafe:()Lio/netty/channel/Channel$Unsafe;
            invokeinterface io.netty.channel.Channel$Unsafe.outboundBuffer:()Lio/netty/channel/ChannelOutboundBuffer;
            astore 3 /* buffer */
        start local 3 // io.netty.channel.ChannelOutboundBuffer buffer
         1: .line 1262
            aload 3 /* buffer */
            ifnull 3
         2: .line 1263
            aload 3 /* buffer */
            lload 1 /* size */
            invokevirtual io.netty.channel.ChannelOutboundBuffer.decrementPendingOutboundBytes:(J)V
         3: .line 1265
      StackMap locals: io.netty.channel.ChannelOutboundBuffer
      StackMap stack:
            return
        end local 3 // io.netty.channel.ChannelOutboundBuffer buffer
        end local 1 // long size
        end local 0 // io.netty.channel.DefaultChannelPipeline this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lio/netty/channel/DefaultChannelPipeline;
            0    4     1    size  J
            1    4     3  buffer  Lio/netty/channel/ChannelOutboundBuffer;
    MethodParameters:
      Name  Flags
      size  

  public io.netty.channel.ChannelInboundInvoker fireChannelUnregistered();
    descriptor: ()Lio/netty/channel/ChannelInboundInvoker;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.netty.channel.DefaultChannelPipeline.fireChannelUnregistered:()Lio/netty/channel/ChannelPipeline;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.netty.channel.ChannelOutboundInvoker read();
    descriptor: ()Lio/netty/channel/ChannelOutboundInvoker;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.netty.channel.DefaultChannelPipeline.read:()Lio/netty/channel/ChannelPipeline;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.netty.channel.ChannelOutboundInvoker flush();
    descriptor: ()Lio/netty/channel/ChannelOutboundInvoker;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.netty.channel.DefaultChannelPipeline.flush:()Lio/netty/channel/ChannelPipeline;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.netty.channel.ChannelInboundInvoker fireChannelActive();
    descriptor: ()Lio/netty/channel/ChannelInboundInvoker;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.netty.channel.DefaultChannelPipeline.fireChannelActive:()Lio/netty/channel/ChannelPipeline;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.netty.channel.ChannelInboundInvoker fireChannelWritabilityChanged();
    descriptor: ()Lio/netty/channel/ChannelInboundInvoker;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.netty.channel.DefaultChannelPipeline.fireChannelWritabilityChanged:()Lio/netty/channel/ChannelPipeline;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.netty.channel.ChannelInboundInvoker fireChannelRead(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lio/netty/channel/ChannelInboundInvoker;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual io.netty.channel.DefaultChannelPipeline.fireChannelRead:(Ljava/lang/Object;)Lio/netty/channel/ChannelPipeline;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.netty.channel.ChannelInboundInvoker fireChannelReadComplete();
    descriptor: ()Lio/netty/channel/ChannelInboundInvoker;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.netty.channel.DefaultChannelPipeline.fireChannelReadComplete:()Lio/netty/channel/ChannelPipeline;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.netty.channel.ChannelInboundInvoker fireExceptionCaught(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Lio/netty/channel/ChannelInboundInvoker;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual io.netty.channel.DefaultChannelPipeline.fireExceptionCaught:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPipeline;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.netty.channel.ChannelInboundInvoker fireChannelInactive();
    descriptor: ()Lio/netty/channel/ChannelInboundInvoker;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.netty.channel.DefaultChannelPipeline.fireChannelInactive:()Lio/netty/channel/ChannelPipeline;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.netty.channel.ChannelInboundInvoker fireChannelRegistered();
    descriptor: ()Lio/netty/channel/ChannelInboundInvoker;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.netty.channel.DefaultChannelPipeline.fireChannelRegistered:()Lio/netty/channel/ChannelPipeline;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.netty.channel.ChannelInboundInvoker fireUserEventTriggered(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lio/netty/channel/ChannelInboundInvoker;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual io.netty.channel.DefaultChannelPipeline.fireUserEventTriggered:(Ljava/lang/Object;)Lio/netty/channel/ChannelPipeline;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "DefaultChannelPipeline.java"
NestMembers:
  io.netty.channel.DefaultChannelPipeline$1  io.netty.channel.DefaultChannelPipeline$2  io.netty.channel.DefaultChannelPipeline$3  io.netty.channel.DefaultChannelPipeline$4  io.netty.channel.DefaultChannelPipeline$5  io.netty.channel.DefaultChannelPipeline$6  io.netty.channel.DefaultChannelPipeline$7  io.netty.channel.DefaultChannelPipeline$8  io.netty.channel.DefaultChannelPipeline$9  io.netty.channel.DefaultChannelPipeline$HeadContext  io.netty.channel.DefaultChannelPipeline$PendingHandlerAddedTask  io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback  io.netty.channel.DefaultChannelPipeline$PendingHandlerRemovedTask  io.netty.channel.DefaultChannelPipeline$TailContext
InnerClasses:
  public abstract Unsafe = io.netty.channel.Channel$Unsafe of io.netty.channel.Channel
  io.netty.channel.DefaultChannelPipeline$1
  io.netty.channel.DefaultChannelPipeline$2
  io.netty.channel.DefaultChannelPipeline$3
  io.netty.channel.DefaultChannelPipeline$4
  io.netty.channel.DefaultChannelPipeline$5
  io.netty.channel.DefaultChannelPipeline$6
  io.netty.channel.DefaultChannelPipeline$7
  io.netty.channel.DefaultChannelPipeline$8
  io.netty.channel.DefaultChannelPipeline$9
  final HeadContext = io.netty.channel.DefaultChannelPipeline$HeadContext of io.netty.channel.DefaultChannelPipeline
  private final PendingHandlerAddedTask = io.netty.channel.DefaultChannelPipeline$PendingHandlerAddedTask of io.netty.channel.DefaultChannelPipeline
  private abstract PendingHandlerCallback = io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback of io.netty.channel.DefaultChannelPipeline
  private final PendingHandlerRemovedTask = io.netty.channel.DefaultChannelPipeline$PendingHandlerRemovedTask of io.netty.channel.DefaultChannelPipeline
  final TailContext = io.netty.channel.DefaultChannelPipeline$TailContext of io.netty.channel.DefaultChannelPipeline
  public abstract Handle = io.netty.channel.MessageSizeEstimator$Handle of io.netty.channel.MessageSizeEstimator
  public abstract Entry = java.util.Map$Entry of java.util.Map