public class io.micronaut.http.netty.reactive.HandlerPublisher<T> extends io.netty.channel.ChannelDuplexHandler implements io.micronaut.http.netty.reactive.HotObservable<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.micronaut.http.netty.reactive.HandlerPublisher
  super_class: io.netty.channel.ChannelDuplexHandler
{
  private static final org.slf4j.Logger LOG;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private final java.util.concurrent.atomic.AtomicBoolean completed;
    descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.netty.util.concurrent.EventExecutor executor;
    descriptor: Lio/netty/util/concurrent/EventExecutor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.netty.util.internal.TypeParameterMatcher matcher;
    descriptor: Lio/netty/util/internal/TypeParameterMatcher;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Queue<java.lang.Object> buffer;
    descriptor: Ljava/util/Queue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Queue<Ljava/lang/Object;>;

  private final java.util.concurrent.atomic.AtomicBoolean hasSubscriber;
    descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private io.micronaut.http.netty.reactive.HandlerPublisher$State state;
    descriptor: Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/micronaut/http/netty/reactive/HandlerPublisher$State;

  private volatile org.reactivestreams.Subscriber<? super T> subscriber;
    descriptor: Lorg/reactivestreams/Subscriber;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    Signature: Lorg/reactivestreams/Subscriber<-TT;>;

  private io.netty.channel.ChannelHandlerContext ctx;
    descriptor: Lio/netty/channel/ChannelHandlerContext;
    flags: (0x0002) ACC_PRIVATE

  private long outstandingDemand;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Throwable noSubscriberError;
    descriptor: Ljava/lang/Throwable;
    flags: (0x0002) ACC_PRIVATE

  private static volatile int[] $SWITCH_TABLE$io$micronaut$http$netty$reactive$HandlerPublisher$State;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 66
            ldc Lio/micronaut/http/netty/reactive/HandlerPublisher;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic io.micronaut.http.netty.reactive.HandlerPublisher.LOG:Lorg/slf4j/Logger;
         1: .line 70
            new io.micronaut.http.netty.reactive.HandlerPublisher$1
            dup
            invokespecial io.micronaut.http.netty.reactive.HandlerPublisher$1.<init>:()V
            putstatic io.micronaut.http.netty.reactive.HandlerPublisher.COMPLETE:Ljava/lang/Object;
         2: .line 75
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(io.netty.util.concurrent.EventExecutor, java.lang.Class<? extends T>);
    descriptor: (Lio/netty/util/concurrent/EventExecutor;Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
        start local 1 // io.netty.util.concurrent.EventExecutor executor
        start local 2 // java.lang.Class subscriberMessageType
         0: .line 105
            aload 0 /* this */
            invokespecial io.netty.channel.ChannelDuplexHandler.<init>:()V
         1: .line 76
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.completed:Ljava/util/concurrent/atomic/AtomicBoolean;
         2: .line 81
            aload 0 /* this */
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.buffer:Ljava/util/Queue;
         3: .line 87
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.hasSubscriber:Ljava/util/concurrent/atomic/AtomicBoolean;
         4: .line 89
            aload 0 /* this */
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.NO_SUBSCRIBER_OR_CONTEXT:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
         5: .line 93
            aload 0 /* this */
            lconst_0
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.outstandingDemand:J
         6: .line 106
            aload 0 /* this */
            aload 1 /* executor */
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.executor:Lio/netty/util/concurrent/EventExecutor;
         7: .line 107
            aload 0 /* this */
            aload 2 /* subscriberMessageType */
            invokestatic io.netty.util.internal.TypeParameterMatcher.get:(Ljava/lang/Class;)Lio/netty/util/internal/TypeParameterMatcher;
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.matcher:Lio/netty/util/internal/TypeParameterMatcher;
         8: .line 108
            return
        end local 2 // java.lang.Class subscriberMessageType
        end local 1 // io.netty.util.concurrent.EventExecutor executor
        end local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    9     0                   this  Lio/micronaut/http/netty/reactive/HandlerPublisher<TT;>;
            0    9     1               executor  Lio/netty/util/concurrent/EventExecutor;
            0    9     2  subscriberMessageType  Ljava/lang/Class<+TT;>;
    Signature: (Lio/netty/util/concurrent/EventExecutor;Ljava/lang/Class<+TT;>;)V
    MethodParameters:
                       Name  Flags
      executor               
      subscriberMessageType  

  public void subscribe(org.reactivestreams.Subscriber<? super T>);
    descriptor: (Lorg/reactivestreams/Subscriber;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
        start local 1 // org.reactivestreams.Subscriber subscriber
         0: .line 112
            aload 1 /* subscriber */
            ifnonnull 2
         1: .line 113
            new java.lang.NullPointerException
            dup
            ldc "Null subscriber"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.hasSubscriber:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_0
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
            ifne 6
         3: .line 118
            aload 1 /* subscriber */
            new io.micronaut.http.netty.reactive.HandlerPublisher$2
            dup
            aload 0 /* this */
            invokespecial io.micronaut.http.netty.reactive.HandlerPublisher$2.<init>:(Lio/micronaut/http/netty/reactive/HandlerPublisher;)V
            invokeinterface org.reactivestreams.Subscriber.onSubscribe:(Lorg/reactivestreams/Subscription;)V
         4: .line 127
            aload 1 /* subscriber */
            new java.lang.IllegalStateException
            dup
            ldc "This publisher only supports one subscriber"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            invokeinterface org.reactivestreams.Subscriber.onError:(Ljava/lang/Throwable;)V
         5: .line 128
            goto 7
         6: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.executor:Lio/netty/util/concurrent/EventExecutor;
            aload 0 /* this */
            aload 1 /* subscriber */
            invokedynamic run(Lio/micronaut/http/netty/reactive/HandlerPublisher;Lorg/reactivestreams/Subscriber;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  io/micronaut/http/netty/reactive/HandlerPublisher.lambda$0(Lorg/reactivestreams/Subscriber;)V (7)
                  ()V
            invokeinterface io.netty.util.concurrent.EventExecutor.execute:(Ljava/lang/Runnable;)V
         7: .line 131
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.reactivestreams.Subscriber subscriber
        end local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lio/micronaut/http/netty/reactive/HandlerPublisher<TT;>;
            0    8     1  subscriber  Lorg/reactivestreams/Subscriber<-TT;>;
    Signature: (Lorg/reactivestreams/Subscriber<-TT;>;)V
    MethodParameters:
            Name  Flags
      subscriber  final

  protected boolean acceptInboundMessage(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
        start local 1 // java.lang.Object msg
         0: .line 141
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.matcher:Lio/netty/util/internal/TypeParameterMatcher;
            aload 1 /* msg */
            invokevirtual io.netty.util.internal.TypeParameterMatcher.match:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object msg
        end local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/http/netty/reactive/HandlerPublisher<TT;>;
            0    1     1   msg  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      msg   

  protected void cancelled();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
         0: .line 150
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.ctx:Lio/netty/channel/ChannelHandlerContext;
            invokeinterface io.netty.channel.ChannelHandlerContext.close:()Lio/netty/channel/ChannelFuture;
            pop
         1: .line 151
            return
        end local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/micronaut/http/netty/reactive/HandlerPublisher<TT;>;

  protected void requestDemand();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
         0: .line 159
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 2
         1: .line 160
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher.LOG:Lorg/slf4j/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Demand received for next message (state = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "). Calling context.read()"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;)V
         2: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.ctx:Lio/netty/channel/ChannelHandlerContext;
            invokeinterface io.netty.channel.ChannelHandlerContext.read:()Lio/netty/channel/ChannelHandlerContext;
            pop
         3: .line 164
            return
        end local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/micronaut/http/netty/reactive/HandlerPublisher<TT;>;

  private void provideSubscriber(org.reactivestreams.Subscriber<? super T>);
    descriptor: (Lorg/reactivestreams/Subscriber;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
        start local 1 // org.reactivestreams.Subscriber subscriber
         0: .line 217
            aload 0 /* this */
            aload 1 /* subscriber */
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.subscriber:Lorg/reactivestreams/Subscriber;
         1: .line 218
            invokestatic io.micronaut.http.netty.reactive.HandlerPublisher.$SWITCH_TABLE$io$micronaut$http$netty$reactive$HandlerPublisher$State:()[I
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher$State.ordinal:()I
            iaload
            tableswitch { // 1 - 8
                    1: 2
                    2: 16
                    3: 4
                    4: 12
                    5: 16
                    6: 16
                    7: 16
                    8: 10
              default: 16
          }
         2: .line 220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.NO_CONTEXT:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
         3: .line 221
            goto 16
         4: .line 223
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.buffer:Ljava/util/Queue;
            invokeinterface java.util.Queue.isEmpty:()Z
            ifeq 7
         5: .line 224
            aload 0 /* this */
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.IDLE:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
         6: .line 225
            goto 8
         7: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.BUFFERING:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
         8: .line 228
      StackMap locals:
      StackMap stack:
            aload 1 /* subscriber */
            new io.micronaut.http.netty.reactive.HandlerPublisher$ChannelSubscription
            dup
            aload 0 /* this */
            invokespecial io.micronaut.http.netty.reactive.HandlerPublisher$ChannelSubscription.<init>:(Lio/micronaut/http/netty/reactive/HandlerPublisher;)V
            invokeinterface org.reactivestreams.Subscriber.onSubscribe:(Lorg/reactivestreams/Subscription;)V
         9: .line 229
            goto 16
        10: .line 231
      StackMap locals:
      StackMap stack:
            aload 1 /* subscriber */
            new io.micronaut.http.netty.reactive.HandlerPublisher$ChannelSubscription
            dup
            aload 0 /* this */
            invokespecial io.micronaut.http.netty.reactive.HandlerPublisher$ChannelSubscription.<init>:(Lio/micronaut/http/netty/reactive/HandlerPublisher;)V
            invokeinterface org.reactivestreams.Subscriber.onSubscribe:(Lorg/reactivestreams/Subscription;)V
        11: .line 232
            goto 16
        12: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher.cleanup:()V
        13: .line 235
            aload 0 /* this */
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.DONE:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
        14: .line 236
            aload 1 /* subscriber */
            new io.micronaut.http.netty.reactive.HandlerPublisher$ChannelSubscription
            dup
            aload 0 /* this */
            invokespecial io.micronaut.http.netty.reactive.HandlerPublisher$ChannelSubscription.<init>:(Lio/micronaut/http/netty/reactive/HandlerPublisher;)V
            invokeinterface org.reactivestreams.Subscriber.onSubscribe:(Lorg/reactivestreams/Subscription;)V
        15: .line 237
            aload 1 /* subscriber */
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.noSubscriberError:Ljava/lang/Throwable;
            invokeinterface org.reactivestreams.Subscriber.onError:(Ljava/lang/Throwable;)V
        16: .line 242
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.reactivestreams.Subscriber subscriber
        end local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lio/micronaut/http/netty/reactive/HandlerPublisher<TT;>;
            0   17     1  subscriber  Lorg/reactivestreams/Subscriber<-TT;>;
    Signature: (Lorg/reactivestreams/Subscriber<-TT;>;)V
    MethodParameters:
            Name  Flags
      subscriber  

  public void handlerAdded(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 248
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
            invokeinterface io.netty.channel.Channel.isRegistered:()Z
            ifeq 2
         1: .line 249
            aload 0 /* this */
            aload 1 /* ctx */
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher.provideChannelContext:(Lio/netty/channel/ChannelHandlerContext;)V
         2: .line 251
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/micronaut/http/netty/reactive/HandlerPublisher<TT;>;
            0    3     1   ctx  Lio/netty/channel/ChannelHandlerContext;
    MethodParameters:
      Name  Flags
      ctx   

  public void channelRegistered(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 255
            aload 0 /* this */
            aload 1 /* ctx */
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher.provideChannelContext:(Lio/netty/channel/ChannelHandlerContext;)V
         1: .line 256
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelRegistered:()Lio/netty/channel/ChannelHandlerContext;
            pop
         2: .line 257
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/micronaut/http/netty/reactive/HandlerPublisher<TT;>;
            0    3     1   ctx  Lio/netty/channel/ChannelHandlerContext;
    MethodParameters:
      Name  Flags
      ctx   

  private void provideChannelContext(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 260
            invokestatic io.micronaut.http.netty.reactive.HandlerPublisher.$SWITCH_TABLE$io$micronaut$http$netty$reactive$HandlerPublisher$State:()[I
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher$State.ordinal:()I
            iaload
            tableswitch { // 1 - 2
                    1: 1
                    2: 5
              default: 9
          }
         1: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher.verifyRegisteredWithRightExecutor:()V
         2: .line 263
            aload 0 /* this */
            aload 1 /* ctx */
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.ctx:Lio/netty/channel/ChannelHandlerContext;
         3: .line 265
            aload 0 /* this */
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.NO_SUBSCRIBER:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
         4: .line 266
            goto 9
         5: .line 268
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher.verifyRegisteredWithRightExecutor:()V
         6: .line 269
            aload 0 /* this */
            aload 1 /* ctx */
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.ctx:Lio/netty/channel/ChannelHandlerContext;
         7: .line 270
            aload 0 /* this */
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.IDLE:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
         8: .line 271
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.subscriber:Lorg/reactivestreams/Subscriber;
            new io.micronaut.http.netty.reactive.HandlerPublisher$ChannelSubscription
            dup
            aload 0 /* this */
            invokespecial io.micronaut.http.netty.reactive.HandlerPublisher$ChannelSubscription.<init>:(Lio/micronaut/http/netty/reactive/HandlerPublisher;)V
            invokeinterface org.reactivestreams.Subscriber.onSubscribe:(Lorg/reactivestreams/Subscription;)V
         9: .line 276
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lio/micronaut/http/netty/reactive/HandlerPublisher<TT;>;
            0   10     1   ctx  Lio/netty/channel/ChannelHandlerContext;
    MethodParameters:
      Name  Flags
      ctx   

  private void verifyRegisteredWithRightExecutor();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
         0: .line 279
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.executor:Lio/netty/util/concurrent/EventExecutor;
            invokeinterface io.netty.util.concurrent.EventExecutor.inEventLoop:()Z
            ifne 2
         1: .line 280
            new java.lang.IllegalArgumentException
            dup
            ldc "Channel handler MUST be registered with the same EventExecutor that it is created with."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 282
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/micronaut/http/netty/reactive/HandlerPublisher<TT;>;

  public void channelActive(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 287
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.DEMANDING:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            if_acmpne 2
         1: .line 288
            aload 0 /* this */
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher.requestDemand:()V
         2: .line 290
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelActive:()Lio/netty/channel/ChannelHandlerContext;
            pop
         3: .line 291
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/micronaut/http/netty/reactive/HandlerPublisher<TT;>;
            0    4     1   ctx  Lio/netty/channel/ChannelHandlerContext;
    MethodParameters:
      Name  Flags
      ctx   

  private void receivedCancel();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
         0: .line 294
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 2
         1: .line 295
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher.LOG:Lorg/slf4j/Logger;
            ldc "HandlerPublisher (state: {}) received cancellation request"
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 298
      StackMap locals:
      StackMap stack:
            invokestatic io.micronaut.http.netty.reactive.HandlerPublisher.$SWITCH_TABLE$io$micronaut$http$netty$reactive$HandlerPublisher$State:()[I
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher$State.ordinal:()I
            iaload
            tableswitch { // 5 - 8
                    5: 3
                    6: 3
                    7: 3
                    8: 4
              default: 5
          }
         3: .line 302
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher.cancelled:()V
         4: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.DONE:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
         5: .line 309
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher.cleanup:()V
         6: .line 310
            aload 0 /* this */
            aconst_null
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.subscriber:Lorg/reactivestreams/Subscriber;
         7: .line 311
            return
        end local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lio/micronaut/http/netty/reactive/HandlerPublisher<TT;>;

  public void channelRead(io.netty.channel.ChannelHandlerContext, java.lang.Object);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // java.lang.Object message
         0: .line 315
            aload 0 /* this */
            aload 2 /* message */
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher.acceptInboundMessage:(Ljava/lang/Object;)Z
            ifeq 22
         1: .line 316
            invokestatic io.micronaut.http.netty.reactive.HandlerPublisher.$SWITCH_TABLE$io$micronaut$http$netty$reactive$HandlerPublisher$State:()[I
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher$State.ordinal:()I
            iaload
            tableswitch { // 1 - 9
                    1: 20
                    2: 20
                    3: 8
                    4: 21
                    5: 2
                    6: 8
                    7: 13
                    8: 15
                    9: 15
              default: 21
          }
         2: .line 318
      StackMap locals:
      StackMap stack:
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 5
         3: .line 319
            aload 0 /* this */
            aload 2 /* message */
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher.messageForTrace:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* msg */
        start local 3 // java.lang.Object msg
         4: .line 320
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher.LOG:Lorg/slf4j/Logger;
            ldc "HandlerPublisher (state: IDLE) buffering message: {}"
            aload 3 /* msg */
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 3 // java.lang.Object msg
         5: .line 322
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.buffer:Ljava/util/Queue;
            aload 2 /* message */
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
         6: .line 323
            aload 0 /* this */
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.BUFFERING:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
         7: .line 324
            goto 23
         8: .line 327
      StackMap locals:
      StackMap stack:
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 11
         9: .line 328
            aload 0 /* this */
            aload 2 /* message */
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher.messageForTrace:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* msg */
        start local 3 // java.lang.Object msg
        10: .line 329
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher.LOG:Lorg/slf4j/Logger;
            ldc "HandlerPublisher (state: BUFFERING) buffering message: {}"
            aload 3 /* msg */
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 3 // java.lang.Object msg
        11: .line 331
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.buffer:Ljava/util/Queue;
            aload 2 /* message */
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
        12: .line 332
            goto 23
        13: .line 334
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* message */
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher.publishMessage:(Ljava/lang/Object;)V
        14: .line 335
            goto 23
        15: .line 338
      StackMap locals:
      StackMap stack:
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 18
        16: .line 339
            aload 0 /* this */
            aload 2 /* message */
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher.messageForTrace:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* msg */
        start local 3 // java.lang.Object msg
        17: .line 340
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher.LOG:Lorg/slf4j/Logger;
            ldc "HandlerPublisher (state: DONE) releasing message: {}"
            aload 3 /* msg */
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 3 // java.lang.Object msg
        18: .line 342
      StackMap locals:
      StackMap stack:
            aload 2 /* message */
            invokestatic io.netty.util.ReferenceCountUtil.release:(Ljava/lang/Object;)Z
            pop
        19: .line 343
            goto 23
        20: .line 346
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "Message received before added to the channel context"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 350
      StackMap locals:
      StackMap stack:
            goto 23
        22: .line 351
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            aload 2 /* message */
            invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelRead:(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext;
            pop
        23: .line 353
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object message
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   24     0     this  Lio/micronaut/http/netty/reactive/HandlerPublisher<TT;>;
            0   24     1      ctx  Lio/netty/channel/ChannelHandlerContext;
            0   24     2  message  Ljava/lang/Object;
            4    5     3      msg  Ljava/lang/Object;
           10   11     3      msg  Ljava/lang/Object;
           17   18     3      msg  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      ctx      
      message  

  private java.lang.Object messageForTrace(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
        start local 1 // java.lang.Object message
         0: .line 356
            aload 1 /* message */
            astore 2 /* msg */
        start local 2 // java.lang.Object msg
         1: .line 357
            aload 1 /* message */
            instanceof io.netty.handler.codec.http.HttpContent
            ifeq 4
         2: .line 358
            aload 1 /* message */
            checkcast io.netty.handler.codec.http.HttpContent
            astore 3 /* content */
        start local 3 // io.netty.handler.codec.http.HttpContent content
         3: .line 359
            aload 3 /* content */
            invokeinterface io.netty.handler.codec.http.HttpContent.content:()Lio/netty/buffer/ByteBuf;
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual io.netty.buffer.ByteBuf.toString:(Ljava/nio/charset/Charset;)Ljava/lang/String;
            astore 2 /* msg */
        end local 3 // io.netty.handler.codec.http.HttpContent content
         4: .line 361
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* msg */
            areturn
        end local 2 // java.lang.Object msg
        end local 1 // java.lang.Object message
        end local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lio/micronaut/http/netty/reactive/HandlerPublisher<TT;>;
            0    5     1  message  Ljava/lang/Object;
            1    5     2      msg  Ljava/lang/Object;
            3    4     3  content  Lio/netty/handler/codec/http/HttpContent;
    MethodParameters:
         Name  Flags
      message  

  private void publishMessage(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
        start local 1 // java.lang.Object message
         0: .line 365
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher.COMPLETE:Ljava/lang/Object;
            aload 1 /* message */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 6
         1: .line 366
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 3
         2: .line 367
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher.LOG:Lorg/slf4j/Logger;
            ldc "HandlerPublisher (state: {}) complete. Calling onComplete()"
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 369
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.subscriber:Lorg/reactivestreams/Subscriber;
            invokeinterface org.reactivestreams.Subscriber.onComplete:()V
         4: .line 370
            aload 0 /* this */
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.DONE:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
         5: .line 371
            goto 22
         6: .line 373
      StackMap locals:
      StackMap stack:
            aload 1 /* message */
            astore 2 /* next */
        start local 2 // java.lang.Object next
         7: .line 374
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 9
         8: .line 375
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher.LOG:Lorg/slf4j/Logger;
            ldc "HandlerPublisher (state: {}) emitting next message: {}"
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            aload 0 /* this */
            aload 2 /* next */
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher.messageForTrace:(Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 378
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.subscriber:Lorg/reactivestreams/Subscriber;
            aload 2 /* next */
            invokeinterface org.reactivestreams.Subscriber.onNext:(Ljava/lang/Object;)V
        10: .line 379
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.outstandingDemand:J
            ldc 9223372036854775807
            lcmp
            ifge 21
        11: .line 380
            aload 0 /* this */
            dup
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.outstandingDemand:J
            lconst_1
            lsub
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.outstandingDemand:J
        12: .line 381
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.outstandingDemand:J
            lconst_0
            lcmp
            ifne 18
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.DRAINING:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            if_acmpeq 18
        13: .line 382
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.buffer:Ljava/util/Queue;
            invokeinterface java.util.Queue.isEmpty:()Z
            ifeq 16
        14: .line 383
            aload 0 /* this */
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.IDLE:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
        15: .line 384
            goto 22
        16: .line 385
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.BUFFERING:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
        17: .line 387
            goto 22
      StackMap locals:
      StackMap stack:
        18: aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.outstandingDemand:J
            lconst_0
            lcmp
            ifle 22
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.DEMANDING:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            if_acmpeq 19
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.BUFFERING:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            if_acmpeq 19
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.DRAINING:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            if_acmpne 22
        19: .line 388
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher.requestDemand:()V
        20: .line 390
            goto 22
        21: .line 391
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher.requestDemand:()V
        end local 2 // java.lang.Object next
        22: .line 394
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object message
        end local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   23     0     this  Lio/micronaut/http/netty/reactive/HandlerPublisher<TT;>;
            0   23     1  message  Ljava/lang/Object;
            7   22     2     next  TT;
    MethodParameters:
         Name  Flags
      message  

  public void channelInactive(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 398
            aload 0 /* this */
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher.complete:()V
         1: .line 399
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/micronaut/http/netty/reactive/HandlerPublisher<TT;>;
            0    2     1   ctx  Lio/netty/channel/ChannelHandlerContext;
    MethodParameters:
      Name  Flags
      ctx   

  public void handlerRemoved(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 403
            aload 0 /* this */
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher.complete:()V
         1: .line 404
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/micronaut/http/netty/reactive/HandlerPublisher<TT;>;
            0    2     1   ctx  Lio/netty/channel/ChannelHandlerContext;
    MethodParameters:
      Name  Flags
      ctx   

  private void complete();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
         0: .line 407
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.completed:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_0
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
            ifeq 8
         1: .line 408
            invokestatic io.micronaut.http.netty.reactive.HandlerPublisher.$SWITCH_TABLE$io$micronaut$http$netty$reactive$HandlerPublisher$State:()[I
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher$State.ordinal:()I
            iaload
            tableswitch { // 3 - 7
                    3: 2
                    4: 8
                    5: 5
                    6: 2
                    7: 5
              default: 8
          }
         2: .line 411
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.buffer:Ljava/util/Queue;
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher.COMPLETE:Ljava/lang/Object;
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
         3: .line 412
            aload 0 /* this */
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.DRAINING:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
         4: .line 413
            goto 8
         5: .line 416
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.subscriber:Lorg/reactivestreams/Subscriber;
            invokeinterface org.reactivestreams.Subscriber.onComplete:()V
         6: .line 417
            aload 0 /* this */
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.DONE:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
         7: .line 418
            goto 8
         8: .line 427
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lio/micronaut/http/netty/reactive/HandlerPublisher<TT;>;

  public void exceptionCaught(io.netty.channel.ChannelHandlerContext, java.lang.Throwable);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // java.lang.Throwable cause
         0: .line 431
            invokestatic io.micronaut.http.netty.reactive.HandlerPublisher.$SWITCH_TABLE$io$micronaut$http$netty$reactive$HandlerPublisher$State:()[I
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher$State.ordinal:()I
            iaload
            tableswitch { // 3 - 8
                    3: 1
                    4: 8
                    5: 5
                    6: 5
                    7: 5
                    8: 5
              default: 8
          }
         1: .line 433
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* cause */
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.noSubscriberError:Ljava/lang/Throwable;
         2: .line 434
            aload 0 /* this */
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.NO_SUBSCRIBER_ERROR:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
         3: .line 435
            aload 0 /* this */
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher.cleanup:()V
         4: .line 436
            goto 8
         5: .line 441
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.DONE:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
         6: .line 442
            aload 0 /* this */
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher.cleanup:()V
         7: .line 443
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.subscriber:Lorg/reactivestreams/Subscriber;
            aload 2 /* cause */
            invokeinterface org.reactivestreams.Subscriber.onError:(Ljava/lang/Throwable;)V
         8: .line 448
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Throwable cause
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lio/micronaut/http/netty/reactive/HandlerPublisher<TT;>;
            0    9     1    ctx  Lio/netty/channel/ChannelHandlerContext;
            0    9     2  cause  Ljava/lang/Throwable;
    MethodParameters:
       Name  Flags
      ctx    
      cause  

  public void closeIfNoSubscriber();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
         0: .line 452
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.subscriber:Lorg/reactivestreams/Subscriber;
            ifnonnull 3
         1: .line 453
            aload 0 /* this */
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.DONE:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            putfield io.micronaut.http.netty.reactive.HandlerPublisher.state:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
         2: .line 454
            aload 0 /* this */
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher.cleanup:()V
         3: .line 456
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/micronaut/http/netty/reactive/HandlerPublisher<TT;>;

  private void cleanup();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
         0: .line 462
            goto 2
         1: .line 463
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.buffer:Ljava/util/Queue;
            invokeinterface java.util.Queue.remove:()Ljava/lang/Object;
            invokestatic io.netty.util.ReferenceCountUtil.release:(Ljava/lang/Object;)Z
            pop
         2: .line 462
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.micronaut.http.netty.reactive.HandlerPublisher.buffer:Ljava/util/Queue;
            invokeinterface java.util.Queue.isEmpty:()Z
            ifeq 1
         3: .line 465
            return
        end local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/micronaut/http/netty/reactive/HandlerPublisher<TT;>;

  static void access$0(io.micronaut.http.netty.reactive.HandlerPublisher);
    descriptor: (Lio/micronaut/http/netty/reactive/HandlerPublisher;)V
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 293
            aload 0
            invokespecial io.micronaut.http.netty.reactive.HandlerPublisher.receivedCancel:()V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int[] $SWITCH_TABLE$io$micronaut$http$netty$reactive$HandlerPublisher$State();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 65
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher.$SWITCH_TABLE$io$micronaut$http$netty$reactive$HandlerPublisher$State:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic io.micronaut.http.netty.reactive.HandlerPublisher$State.values:()[Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.BUFFERING:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher$State.ordinal:()I
            bipush 6
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.DEMANDING:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher$State.ordinal:()I
            bipush 7
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.DONE:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher$State.ordinal:()I
            bipush 9
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.DRAINING:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher$State.ordinal:()I
            bipush 8
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.IDLE:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher$State.ordinal:()I
            iconst_5
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.NO_CONTEXT:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher$State.ordinal:()I
            iconst_2
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.NO_SUBSCRIBER:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher$State.ordinal:()I
            iconst_3
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.NO_SUBSCRIBER_ERROR:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher$State.ordinal:()I
            iconst_4
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic io.micronaut.http.netty.reactive.HandlerPublisher$State.NO_SUBSCRIBER_OR_CONTEXT:Lio/micronaut/http/netty/reactive/HandlerPublisher$State;
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher$State.ordinal:()I
            iconst_1
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            dup
            putstatic io.micronaut.http.netty.reactive.HandlerPublisher.$SWITCH_TABLE$io$micronaut$http$netty$reactive$HandlerPublisher$State:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError

  private void lambda$0(org.reactivestreams.Subscriber);
    descriptor: (Lorg/reactivestreams/Subscriber;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
         0: .line 129
            aload 0 /* this */
            aload 1
            invokevirtual io.micronaut.http.netty.reactive.HandlerPublisher.provideSubscriber:(Lorg/reactivestreams/Subscriber;)V
            return
        end local 0 // io.micronaut.http.netty.reactive.HandlerPublisher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/http/netty/reactive/HandlerPublisher<TT;>;
}
Signature: <T:Ljava/lang/Object;>Lio/netty/channel/ChannelDuplexHandler;Lio/micronaut/http/netty/reactive/HotObservable<TT;>;
SourceFile: "HandlerPublisher.java"
NestMembers:
  io.micronaut.http.netty.reactive.HandlerPublisher$1  io.micronaut.http.netty.reactive.HandlerPublisher$2  io.micronaut.http.netty.reactive.HandlerPublisher$ChannelSubscription  io.micronaut.http.netty.reactive.HandlerPublisher$State
InnerClasses:
  io.micronaut.http.netty.reactive.HandlerPublisher$1
  io.micronaut.http.netty.reactive.HandlerPublisher$2
  private ChannelSubscription = io.micronaut.http.netty.reactive.HandlerPublisher$ChannelSubscription of io.micronaut.http.netty.reactive.HandlerPublisher
  final State = io.micronaut.http.netty.reactive.HandlerPublisher$State of io.micronaut.http.netty.reactive.HandlerPublisher
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
    RuntimeVisibleAnnotations: 
      io.micronaut.core.annotation.Internal()