public class io.vertx.core.eventbus.impl.HandlerRegistration<T> implements io.vertx.core.eventbus.MessageConsumer<T>, io.vertx.core.Handler<io.vertx.core.eventbus.Message<T>>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.core.eventbus.impl.HandlerRegistration
  super_class: java.lang.Object
{
  private static final io.vertx.core.logging.Logger log;
    descriptor: Lio/vertx/core/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final int DEFAULT_MAX_BUFFERED_MESSAGES;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1000

  private final io.vertx.core.Vertx vertx;
    descriptor: Lio/vertx/core/Vertx;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.vertx.core.spi.metrics.EventBusMetrics metrics;
    descriptor: Lio/vertx/core/spi/metrics/EventBusMetrics;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.vertx.core.eventbus.impl.EventBusImpl eventBus;
    descriptor: Lio/vertx/core/eventbus/impl/EventBusImpl;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String address;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String repliedAddress;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.eventbus.Message<T>>> asyncResultHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/eventbus/Message<TT;>;>;>;

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

  private io.vertx.core.eventbus.impl.HandlerHolder<T> registered;
    descriptor: Lio/vertx/core/eventbus/impl/HandlerHolder;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/eventbus/impl/HandlerHolder<TT;>;

  private io.vertx.core.Handler<io.vertx.core.eventbus.Message<T>> handler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;

  private io.vertx.core.impl.ContextInternal handlerContext;
    descriptor: Lio/vertx/core/impl/ContextInternal;
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.core.AsyncResult<java.lang.Void> result;
    descriptor: Lio/vertx/core/AsyncResult;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>> completionHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;

  private io.vertx.core.Handler<java.lang.Void> endHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Ljava/lang/Void;>;

  private io.vertx.core.Handler<io.vertx.core.eventbus.Message<T>> discardHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;

  private int maxBufferedMessages;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private final java.util.Queue<io.vertx.core.eventbus.Message<T>> pending;
    descriptor: Ljava/util/Queue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Queue<Lio/vertx/core/eventbus/Message<TT;>;>;

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

  private java.lang.Object metric;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 39
            ldc Lio/vertx/core/eventbus/impl/HandlerRegistration;
            invokestatic io.vertx.core.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/logging/Logger;
            putstatic io.vertx.core.eventbus.impl.HandlerRegistration.log:Lio/vertx/core/logging/Logger;
         1: .line 41
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(io.vertx.core.Vertx, io.vertx.core.spi.metrics.EventBusMetrics, io.vertx.core.eventbus.impl.EventBusImpl, java.lang.String, java.lang.String, boolean, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.eventbus.Message<T>>>, );
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/core/spi/metrics/EventBusMetrics;Lio/vertx/core/eventbus/impl/EventBusImpl;Ljava/lang/String;Ljava/lang/String;ZLio/vertx/core/Handler;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=10, args_size=9
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // io.vertx.core.spi.metrics.EventBusMetrics metrics
        start local 3 // io.vertx.core.eventbus.impl.EventBusImpl eventBus
        start local 4 // java.lang.String address
        start local 5 // java.lang.String repliedAddress
        start local 6 // boolean localOnly
        start local 7 // io.vertx.core.Handler asyncResultHandler
        start local 8 // long timeout
         0: .line 63
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 50
            aload 0 /* this */
            ldc -1
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.timeoutID:J
         2: .line 58
            aload 0 /* this */
            sipush 1000
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.maxBufferedMessages:I
         3: .line 59
            aload 0 /* this */
            new java.util.ArrayDeque
            dup
            bipush 8
            invokespecial java.util.ArrayDeque.<init>:(I)V
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.pending:Ljava/util/Queue;
         4: .line 60
            aload 0 /* this */
            ldc 9223372036854775807
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.demand:J
         5: .line 66
            aload 0 /* this */
            aload 1 /* vertx */
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.vertx:Lio/vertx/core/Vertx;
         6: .line 67
            aload 0 /* this */
            aload 2 /* metrics */
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
         7: .line 68
            aload 0 /* this */
            aload 3 /* eventBus */
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.eventBus:Lio/vertx/core/eventbus/impl/EventBusImpl;
         8: .line 69
            aload 0 /* this */
            aload 4 /* address */
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.address:Ljava/lang/String;
         9: .line 70
            aload 0 /* this */
            aload 5 /* repliedAddress */
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.repliedAddress:Ljava/lang/String;
        10: .line 71
            aload 0 /* this */
            iload 6 /* localOnly */
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.localOnly:Z
        11: .line 72
            aload 0 /* this */
            aload 7 /* asyncResultHandler */
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.asyncResultHandler:Lio/vertx/core/Handler;
        12: .line 73
            lload 8 /* timeout */
            ldc -1
            lcmp
            ifeq 14
        13: .line 74
            aload 0 /* this */
            aload 1 /* vertx */
            lload 8 /* timeout */
            aload 0 /* this */
            aload 2 /* metrics */
            aload 4 /* address */
            lload 8 /* timeout */
            aload 5 /* repliedAddress */
            invokedynamic handle(Lio/vertx/core/eventbus/impl/HandlerRegistration;Lio/vertx/core/spi/metrics/EventBusMetrics;Ljava/lang/String;JLjava/lang/String;)Lio/vertx/core/Handler;
              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:
                  (Ljava/lang/Object;)V
                  io/vertx/core/eventbus/impl/HandlerRegistration.lambda$0(Lio/vertx/core/spi/metrics/EventBusMetrics;Ljava/lang/String;JLjava/lang/String;Ljava/lang/Long;)V (7)
                  (Ljava/lang/Long;)V
            invokeinterface io.vertx.core.Vertx.setTimer:(JLio/vertx/core/Handler;)J
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.timeoutID:J
        14: .line 81
      StackMap locals: io.vertx.core.eventbus.impl.HandlerRegistration io.vertx.core.Vertx io.vertx.core.spi.metrics.EventBusMetrics io.vertx.core.eventbus.impl.EventBusImpl java.lang.String java.lang.String int io.vertx.core.Handler long
      StackMap stack:
            return
        end local 8 // long timeout
        end local 7 // io.vertx.core.Handler asyncResultHandler
        end local 6 // boolean localOnly
        end local 5 // java.lang.String repliedAddress
        end local 4 // java.lang.String address
        end local 3 // io.vertx.core.eventbus.impl.EventBusImpl eventBus
        end local 2 // io.vertx.core.spi.metrics.EventBusMetrics metrics
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   15     0                this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
            0   15     1               vertx  Lio/vertx/core/Vertx;
            0   15     2             metrics  Lio/vertx/core/spi/metrics/EventBusMetrics;
            0   15     3            eventBus  Lio/vertx/core/eventbus/impl/EventBusImpl;
            0   15     4             address  Ljava/lang/String;
            0   15     5      repliedAddress  Ljava/lang/String;
            0   15     6           localOnly  Z
            0   15     7  asyncResultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/eventbus/Message<TT;>;>;>;
            0   15     8             timeout  J
    Signature: (Lio/vertx/core/Vertx;Lio/vertx/core/spi/metrics/EventBusMetrics;Lio/vertx/core/eventbus/impl/EventBusImpl;Ljava/lang/String;Ljava/lang/String;ZLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/eventbus/Message<TT;>;>;>;J)V
    MethodParameters:
                    Name  Flags
      vertx               
      metrics             
      eventBus            
      address             
      repliedAddress      
      localOnly           
      asyncResultHandler  
      timeout             

  public io.vertx.core.eventbus.MessageConsumer<T> setMaxBufferedMessages(int);
    descriptor: (I)Lio/vertx/core/eventbus/MessageConsumer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
        start local 1 // int maxBufferedMessages
         0: .line 85
            iload 1 /* maxBufferedMessages */
            iflt 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ldc "Max buffered messages cannot be negative"
            invokestatic io.vertx.core.impl.Arguments.require:(ZLjava/lang/String;)V
         3: .line 88
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         4: .line 89
            aload 0 /* this */
            iload 1 /* maxBufferedMessages */
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.maxBufferedMessages:I
         5: .line 90
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.pending:Ljava/util/Queue;
            invokeinterface java.util.Queue.size:()I
            iload 1 /* maxBufferedMessages */
            isub
            istore 5 /* overflow */
        start local 5 // int overflow
         6: .line 91
            iload 5 /* overflow */
            ifgt 9
         7: .line 92
            aload 0 /* this */
            aload 4
            monitorexit
         8: areturn
         9: .line 94
      StackMap locals: io.vertx.core.eventbus.impl.HandlerRegistration int top top io.vertx.core.eventbus.impl.HandlerRegistration int
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.discardHandler:Lio/vertx/core/Handler;
            astore 3 /* discardHandler */
        start local 3 // io.vertx.core.Handler discardHandler
        10: .line 95
            aload 3 /* discardHandler */
            ifnonnull 16
        11: .line 96
            goto 13
        12: .line 97
      StackMap locals: io.vertx.core.eventbus.impl.HandlerRegistration int top io.vertx.core.Handler io.vertx.core.eventbus.impl.HandlerRegistration int
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.pending:Ljava/util/Queue;
            invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
            pop
        13: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.pending:Ljava/util/Queue;
            invokeinterface java.util.Queue.size:()I
            iload 1 /* maxBufferedMessages */
            if_icmpgt 12
        14: .line 99
            aload 0 /* this */
            aload 4
            monitorexit
        15: areturn
        16: .line 101
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            iload 5 /* overflow */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* discarded */
        start local 2 // java.util.List discarded
        17: .line 102
            goto 19
        18: .line 103
      StackMap locals: io.vertx.core.eventbus.impl.HandlerRegistration int java.util.List io.vertx.core.Handler io.vertx.core.eventbus.impl.HandlerRegistration int
      StackMap stack:
            aload 2 /* discarded */
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.pending:Ljava/util/Queue;
            invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
            checkcast io.vertx.core.eventbus.Message
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        19: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.pending:Ljava/util/Queue;
            invokeinterface java.util.Queue.size:()I
            iload 1 /* maxBufferedMessages */
            if_icmpgt 18
        end local 5 // int overflow
        20: .line 88
            aload 4
            monitorexit
        21: goto 24
        end local 3 // io.vertx.core.Handler discardHandler
        end local 2 // java.util.List discarded
      StackMap locals: io.vertx.core.eventbus.impl.HandlerRegistration int top top io.vertx.core.eventbus.impl.HandlerRegistration
      StackMap stack: java.lang.Throwable
        22: aload 4
            monitorexit
        23: athrow
        start local 2 // java.util.List discarded
        start local 3 // io.vertx.core.Handler discardHandler
        24: .line 106
      StackMap locals: io.vertx.core.eventbus.impl.HandlerRegistration int java.util.List io.vertx.core.Handler
      StackMap stack:
            aload 2 /* discarded */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 27
      StackMap locals: io.vertx.core.eventbus.impl.HandlerRegistration int java.util.List io.vertx.core.Handler top java.util.Iterator
      StackMap stack:
        25: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.eventbus.Message
            astore 4 /* msg */
        start local 4 // io.vertx.core.eventbus.Message msg
        26: .line 107
            aload 3 /* discardHandler */
            aload 4 /* msg */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        end local 4 // io.vertx.core.eventbus.Message msg
        27: .line 106
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        28: .line 109
            aload 0 /* this */
            areturn
        end local 3 // io.vertx.core.Handler discardHandler
        end local 2 // java.util.List discarded
        end local 1 // int maxBufferedMessages
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   29     0                 this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
            0   29     1  maxBufferedMessages  I
           17   22     2            discarded  Ljava/util/List<Lio/vertx/core/eventbus/Message<TT;>;>;
           24   29     2            discarded  Ljava/util/List<Lio/vertx/core/eventbus/Message<TT;>;>;
           10   22     3       discardHandler  Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;
           24   29     3       discardHandler  Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;
            6   20     5             overflow  I
           26   27     4                  msg  Lio/vertx/core/eventbus/Message<TT;>;
      Exception table:
        from    to  target  type
           4     8      22  any
           9    15      22  any
          16    21      22  any
          22    23      22  any
    Signature: (I)Lio/vertx/core/eventbus/MessageConsumer<TT;>;
    MethodParameters:
                     Name  Flags
      maxBufferedMessages  

  public synchronized int getMaxBufferedMessages();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
         0: .line 114
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.maxBufferedMessages:I
            ireturn
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;

  public java.lang.String address();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
         0: .line 119
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.address:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;

  public synchronized void completionHandler(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
        start local 1 // io.vertx.core.Handler completionHandler
         0: .line 124
            aload 1 /* completionHandler */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 125
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.result:Lio/vertx/core/AsyncResult;
            ifnull 5
         2: .line 126
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.result:Lio/vertx/core/AsyncResult;
            astore 2 /* value */
        start local 2 // io.vertx.core.AsyncResult value
         3: .line 127
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.vertx:Lio/vertx/core/Vertx;
            aload 1 /* completionHandler */
            aload 2 /* value */
            invokedynamic handle(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)Lio/vertx/core/Handler;
              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:
                  (Ljava/lang/Object;)V
                  io/vertx/core/eventbus/impl/HandlerRegistration.lambda$1(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;Ljava/lang/Void;)V (6)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.core.Vertx.runOnContext:(Lio/vertx/core/Handler;)V
        end local 2 // io.vertx.core.AsyncResult value
         4: .line 128
            goto 6
         5: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* completionHandler */
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.completionHandler:Lio/vertx/core/Handler;
         6: .line 131
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.Handler completionHandler
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
            0    7     1  completionHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
            3    4     2              value  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
                   Name  Flags
      completionHandler  

  public void unregister();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
         0: .line 135
            aload 0 /* this */
            aconst_null
            invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.doUnregister:(Lio/vertx/core/Handler;)V
         1: .line 136
            return
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;

  public void unregister(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
        start local 1 // io.vertx.core.Handler completionHandler
         0: .line 140
            aload 0 /* this */
            aload 1 /* completionHandler */
            invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.doUnregister:(Lio/vertx/core/Handler;)V
         1: .line 141
            return
        end local 1 // io.vertx.core.Handler completionHandler
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
            0    2     1  completionHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
                   Name  Flags
      completionHandler  

  public void sendAsyncResultFailure(io.vertx.core.eventbus.ReplyException);
    descriptor: (Lio/vertx/core/eventbus/ReplyException;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
        start local 1 // io.vertx.core.eventbus.ReplyException failure
         0: .line 144
            aload 0 /* this */
            invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.unregister:()V
         1: .line 145
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.asyncResultHandler:Lio/vertx/core/Handler;
            aload 1 /* failure */
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 146
            return
        end local 1 // io.vertx.core.eventbus.ReplyException failure
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
            0    3     1  failure  Lio/vertx/core/eventbus/ReplyException;
    MethodParameters:
         Name  Flags
      failure  

  private void doUnregister(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
        start local 1 // io.vertx.core.Handler doneHandler
         0: .line 151
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         1: .line 152
            aload 0 /* this */
            aconst_null
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.handler:Lio/vertx/core/Handler;
         2: .line 153
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.timeoutID:J
            ldc -1
            lcmp
            ifeq 4
         3: .line 154
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.vertx:Lio/vertx/core/Vertx;
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.timeoutID:J
            invokeinterface io.vertx.core.Vertx.cancelTimer:(J)Z
            pop
         4: .line 156
      StackMap locals: io.vertx.core.eventbus.impl.HandlerRegistration io.vertx.core.Handler top top io.vertx.core.eventbus.impl.HandlerRegistration
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.endHandler:Lio/vertx/core/Handler;
            ifnull 8
         5: .line 157
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.endHandler:Lio/vertx/core/Handler;
            astore 5 /* theEndHandler */
        start local 5 // io.vertx.core.Handler theEndHandler
         6: .line 158
            aload 1 /* doneHandler */
            astore 6 /* handler */
        start local 6 // io.vertx.core.Handler handler
         7: .line 159
            aload 5 /* theEndHandler */
            aload 6 /* handler */
            invokedynamic handle(Lio/vertx/core/Handler;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              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:
                  (Ljava/lang/Object;)V
                  io/vertx/core/eventbus/impl/HandlerRegistration.lambda$2(Lio/vertx/core/Handler;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            astore 1 /* doneHandler */
        end local 6 // io.vertx.core.Handler handler
        end local 5 // io.vertx.core.Handler theEndHandler
         8: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.registered:Lio/vertx/core/eventbus/impl/HandlerHolder;
            astore 5 /* holder */
        start local 5 // io.vertx.core.eventbus.impl.HandlerHolder holder
         9: .line 167
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.pending:Ljava/util/Queue;
            invokeinterface java.util.Queue.size:()I
            ifle 13
        10: .line 168
            new java.util.ArrayDeque
            dup
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.pending:Ljava/util/Queue;
            invokespecial java.util.ArrayDeque.<init>:(Ljava/util/Collection;)V
            astore 2 /* discarded */
        start local 2 // java.util.Deque discarded
        11: .line 169
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.pending:Ljava/util/Queue;
            invokeinterface java.util.Queue.clear:()V
        12: .line 170
            goto 14
        end local 2 // java.util.Deque discarded
        13: .line 171
      StackMap locals: io.vertx.core.eventbus.impl.HandlerHolder
      StackMap stack:
            aconst_null
            astore 2 /* discarded */
        start local 2 // java.util.Deque discarded
        14: .line 173
      StackMap locals: io.vertx.core.eventbus.impl.HandlerRegistration io.vertx.core.Handler java.util.Deque top io.vertx.core.eventbus.impl.HandlerRegistration io.vertx.core.eventbus.impl.HandlerHolder
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.discardHandler:Lio/vertx/core/Handler;
            astore 3 /* discardHandler */
        start local 3 // io.vertx.core.Handler discardHandler
        15: .line 174
            aload 5 /* holder */
            ifnull 20
        16: .line 175
            aload 0 /* this */
            aconst_null
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.handler:Lio/vertx/core/Handler;
        17: .line 176
            aload 0 /* this */
            aconst_null
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.registered:Lio/vertx/core/eventbus/impl/HandlerHolder;
        18: .line 177
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.eventBus:Lio/vertx/core/eventbus/impl/EventBusImpl;
            aload 5 /* holder */
            aload 1 /* doneHandler */
            invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.removeRegistration:(Lio/vertx/core/eventbus/impl/HandlerHolder;Lio/vertx/core/Handler;)V
        19: .line 178
            goto 21
        20: .line 179
      StackMap locals: io.vertx.core.eventbus.impl.HandlerRegistration io.vertx.core.Handler java.util.Deque io.vertx.core.Handler io.vertx.core.eventbus.impl.HandlerRegistration io.vertx.core.eventbus.impl.HandlerHolder
      StackMap stack:
            aload 0 /* this */
            invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
            aload 1 /* doneHandler */
            invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.callHandlerAsync:(Lio/vertx/core/AsyncResult;Lio/vertx/core/Handler;)V
        21: .line 181
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.result:Lio/vertx/core/AsyncResult;
            ifnonnull 25
        22: .line 182
            aload 0 /* this */
            ldc "Consumer unregistered before registration completed"
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.result:Lio/vertx/core/AsyncResult;
        23: .line 183
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.result:Lio/vertx/core/AsyncResult;
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.completionHandler:Lio/vertx/core/Handler;
            invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.callHandlerAsync:(Lio/vertx/core/AsyncResult;Lio/vertx/core/Handler;)V
        24: .line 184
            goto 28
        25: .line 185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.eventBus:Lio/vertx/core/eventbus/impl/EventBusImpl;
            getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
            astore 6 /* metrics */
        start local 6 // io.vertx.core.spi.metrics.EventBusMetrics metrics
        26: .line 186
            aload 6 /* metrics */
            ifnull 28
        27: .line 187
            aload 6 /* metrics */
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.metric:Ljava/lang/Object;
            invokeinterface io.vertx.core.spi.metrics.EventBusMetrics.handlerUnregistered:(Ljava/lang/Object;)V
        end local 6 // io.vertx.core.spi.metrics.EventBusMetrics metrics
        end local 5 // io.vertx.core.eventbus.impl.HandlerHolder holder
        28: .line 151
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        29: goto 32
        end local 3 // io.vertx.core.Handler discardHandler
        end local 2 // java.util.Deque discarded
      StackMap locals: io.vertx.core.eventbus.impl.HandlerRegistration io.vertx.core.Handler top top io.vertx.core.eventbus.impl.HandlerRegistration
      StackMap stack: java.lang.Throwable
        30: aload 4
            monitorexit
        31: athrow
        start local 2 // java.util.Deque discarded
        start local 3 // io.vertx.core.Handler discardHandler
        32: .line 191
      StackMap locals: io.vertx.core.eventbus.impl.HandlerRegistration io.vertx.core.Handler java.util.Deque io.vertx.core.Handler
      StackMap stack:
            aload 3 /* discardHandler */
            ifnull 37
            aload 2 /* discarded */
            ifnull 37
        33: .line 193
            goto 35
        start local 4 // io.vertx.core.eventbus.Message msg
        34: .line 194
      StackMap locals: io.vertx.core.eventbus.Message
      StackMap stack:
            aload 3 /* discardHandler */
            aload 4 /* msg */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        end local 4 // io.vertx.core.eventbus.Message msg
        35: .line 193
      StackMap locals:
      StackMap stack:
            aload 2 /* discarded */
            invokeinterface java.util.Deque.poll:()Ljava/lang/Object;
            checkcast io.vertx.core.eventbus.Message
            dup
            astore 4 /* msg */
        start local 4 // io.vertx.core.eventbus.Message msg
        36: ifnonnull 34
        end local 4 // io.vertx.core.eventbus.Message msg
        37: .line 197
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.vertx.core.Handler discardHandler
        end local 2 // java.util.Deque discarded
        end local 1 // io.vertx.core.Handler doneHandler
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   38     0            this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
            0   38     1     doneHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
           11   13     2       discarded  Ljava/util/Deque<Lio/vertx/core/eventbus/Message<TT;>;>;
           14   30     2       discarded  Ljava/util/Deque<Lio/vertx/core/eventbus/Message<TT;>;>;
           32   38     2       discarded  Ljava/util/Deque<Lio/vertx/core/eventbus/Message<TT;>;>;
           15   30     3  discardHandler  Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;
           32   38     3  discardHandler  Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;
            6    8     5   theEndHandler  Lio/vertx/core/Handler<Ljava/lang/Void;>;
            7    8     6         handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
            9   28     5          holder  Lio/vertx/core/eventbus/impl/HandlerHolder<TT;>;
           26   28     6         metrics  Lio/vertx/core/spi/metrics/EventBusMetrics;
           34   35     4             msg  Lio/vertx/core/eventbus/Message<TT;>;
           36   37     4             msg  Lio/vertx/core/eventbus/Message<TT;>;
      Exception table:
        from    to  target  type
           1    29      30  any
          30    31      30  any
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
             Name  Flags
      doneHandler  

  private void callHandlerAsync(io.vertx.core.AsyncResult<java.lang.Void>, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/vertx/core/AsyncResult;Lio/vertx/core/Handler;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
        start local 1 // io.vertx.core.AsyncResult result
        start local 2 // io.vertx.core.Handler completionHandler
         0: .line 200
            aload 2 /* completionHandler */
            ifnull 2
         1: .line 201
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.vertx:Lio/vertx/core/Vertx;
            aload 2 /* completionHandler */
            aload 1 /* result */
            invokedynamic handle(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)Lio/vertx/core/Handler;
              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:
                  (Ljava/lang/Object;)V
                  io/vertx/core/eventbus/impl/HandlerRegistration.lambda$3(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;Ljava/lang/Void;)V (6)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.core.Vertx.runOnContext:(Lio/vertx/core/Handler;)V
         2: .line 203
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.Handler completionHandler
        end local 1 // io.vertx.core.AsyncResult result
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
            0    3     1             result  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
            0    3     2  completionHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
                   Name  Flags
      result             
      completionHandler  

  synchronized void setHandlerContext(io.vertx.core.Context);
    descriptor: (Lio/vertx/core/Context;)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
        start local 1 // io.vertx.core.Context context
         0: .line 206
            aload 0 /* this */
            aload 1 /* context */
            checkcast io.vertx.core.impl.ContextInternal
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.handlerContext:Lio/vertx/core/impl/ContextInternal;
         1: .line 207
            return
        end local 1 // io.vertx.core.Context context
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
            0    2     1  context  Lio/vertx/core/Context;
    MethodParameters:
         Name  Flags
      context  

  public synchronized void setResult(io.vertx.core.AsyncResult<java.lang.Void>);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
        start local 1 // io.vertx.core.AsyncResult result
         0: .line 210
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.result:Lio/vertx/core/AsyncResult;
            ifnull 2
         1: .line 211
            return
         2: .line 213
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* result */
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.result:Lio/vertx/core/AsyncResult;
         3: .line 214
            aload 1 /* result */
            invokeinterface io.vertx.core.AsyncResult.failed:()Z
            ifeq 6
         4: .line 215
            getstatic io.vertx.core.eventbus.impl.HandlerRegistration.log:Lio/vertx/core/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Failed to propagate registration for handler "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.handler:Lio/vertx/core/Handler;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " and address "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.address:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.vertx.core.logging.Logger.error:(Ljava/lang/Object;)V
         5: .line 216
            goto 9
         6: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
            ifnull 8
         7: .line 218
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.address:Ljava/lang/String;
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.repliedAddress:Ljava/lang/String;
            invokeinterface io.vertx.core.spi.metrics.EventBusMetrics.handlerRegistered:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.metric:Ljava/lang/Object;
         8: .line 220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* result */
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.completionHandler:Lio/vertx/core/Handler;
            invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.callHandlerAsync:(Lio/vertx/core/AsyncResult;Lio/vertx/core/Handler;)V
         9: .line 222
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.AsyncResult result
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
            0   10     1  result  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
    Signature: (Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;)V
    MethodParameters:
        Name  Flags
      result  

  public void handle(io.vertx.core.eventbus.Message<T>);
    descriptor: (Lio/vertx/core/eventbus/Message;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
        start local 1 // io.vertx.core.eventbus.Message message
         0: .line 228
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         1: .line 229
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.registered:Lio/vertx/core/eventbus/impl/HandlerHolder;
            ifnonnull 4
         2: .line 230
            aload 4
            monitorexit
         3: return
         4: .line 231
      StackMap locals: io.vertx.core.eventbus.impl.HandlerRegistration io.vertx.core.eventbus.Message top top io.vertx.core.eventbus.impl.HandlerRegistration
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.demand:J
            lconst_0
            lcmp
            ifne 14
         5: .line 232
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.pending:Ljava/util/Queue;
            invokeinterface java.util.Queue.size:()I
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.maxBufferedMessages:I
            if_icmpge 8
         6: .line 233
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.pending:Ljava/util/Queue;
            aload 1 /* message */
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
         7: .line 234
            goto 12
         8: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.discardHandler:Lio/vertx/core/Handler;
            ifnull 11
         9: .line 236
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.discardHandler:Lio/vertx/core/Handler;
            aload 1 /* message */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        10: .line 237
            goto 12
        11: .line 238
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.core.eventbus.impl.HandlerRegistration.log:Lio/vertx/core/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Discarding message as more than "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.maxBufferedMessages:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " buffered in paused consumer. address: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.address:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.vertx.core.logging.Logger.warn:(Ljava/lang/Object;)V
        12: .line 241
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        13: return
        14: .line 243
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.pending:Ljava/util/Queue;
            invokeinterface java.util.Queue.size:()I
            ifle 17
        15: .line 244
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.pending:Ljava/util/Queue;
            aload 1 /* message */
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
        16: .line 245
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.pending:Ljava/util/Queue;
            invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
            checkcast io.vertx.core.eventbus.Message
            astore 1 /* message */
        17: .line 247
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.demand:J
            ldc 9223372036854775807
            lcmp
            ifeq 19
        18: .line 248
            aload 0 /* this */
            dup
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.demand:J
            lconst_1
            lsub
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.demand:J
        19: .line 250
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.handler:Lio/vertx/core/Handler;
            astore 2 /* theHandler */
        start local 2 // io.vertx.core.Handler theHandler
        20: .line 252
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.handlerContext:Lio/vertx/core/impl/ContextInternal;
            astore 3 /* ctx */
        start local 3 // io.vertx.core.impl.ContextInternal ctx
        21: .line 228
            aload 4
            monitorexit
        22: goto 25
        end local 3 // io.vertx.core.impl.ContextInternal ctx
        end local 2 // io.vertx.core.Handler theHandler
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: aload 4
            monitorexit
        24: athrow
        start local 2 // io.vertx.core.Handler theHandler
        start local 3 // io.vertx.core.impl.ContextInternal ctx
        25: .line 254
      StackMap locals: io.vertx.core.eventbus.impl.HandlerRegistration io.vertx.core.eventbus.Message io.vertx.core.Handler io.vertx.core.impl.ContextInternal
      StackMap stack:
            aload 0 /* this */
            aload 2 /* theHandler */
            aload 1 /* message */
            aload 3 /* ctx */
            invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.deliver:(Lio/vertx/core/Handler;Lio/vertx/core/eventbus/Message;Lio/vertx/core/impl/ContextInternal;)V
        26: .line 255
            return
        end local 3 // io.vertx.core.impl.ContextInternal ctx
        end local 2 // io.vertx.core.Handler theHandler
        end local 1 // io.vertx.core.eventbus.Message message
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   27     0        this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
            0   27     1     message  Lio/vertx/core/eventbus/Message<TT;>;
           20   23     2  theHandler  Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;
           25   27     2  theHandler  Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;
           21   23     3         ctx  Lio/vertx/core/impl/ContextInternal;
           25   27     3         ctx  Lio/vertx/core/impl/ContextInternal;
      Exception table:
        from    to  target  type
           1     3      23  any
           4    13      23  any
          14    22      23  any
          23    24      23  any
    Signature: (Lio/vertx/core/eventbus/Message<TT;>;)V
    MethodParameters:
         Name  Flags
      message  

  private void deliver(io.vertx.core.Handler<io.vertx.core.eventbus.Message<T>>, io.vertx.core.eventbus.Message<T>, io.vertx.core.impl.ContextInternal);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/eventbus/Message;Lio/vertx/core/impl/ContextInternal;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
        start local 1 // io.vertx.core.Handler theHandler
        start local 2 // io.vertx.core.eventbus.Message message
        start local 3 // io.vertx.core.impl.ContextInternal context
         0: .line 260
            iconst_1
            istore 4 /* local */
        start local 4 // boolean local
         1: .line 261
            aload 2 /* message */
            instanceof io.vertx.core.eventbus.impl.clustered.ClusteredMessage
            ifeq 5
         2: .line 263
            aload 2 /* message */
            checkcast io.vertx.core.eventbus.impl.clustered.ClusteredMessage
            astore 5 /* cmsg */
        start local 5 // io.vertx.core.eventbus.impl.clustered.ClusteredMessage cmsg
         3: .line 264
            aload 5 /* cmsg */
            invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredMessage.isFromWire:()Z
            ifeq 5
         4: .line 265
            iconst_0
            istore 4 /* local */
        end local 5 // io.vertx.core.eventbus.impl.clustered.ClusteredMessage cmsg
         5: .line 268
      StackMap locals: int
      StackMap stack:
            aload 2 /* message */
            invokeinterface io.vertx.core.eventbus.Message.headers:()Lio/vertx/core/MultiMap;
            ldc "__vertx.credit"
            invokeinterface io.vertx.core.MultiMap.get:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* creditsAddress */
        start local 5 // java.lang.String creditsAddress
         6: .line 269
            aload 5 /* creditsAddress */
            ifnull 8
         7: .line 270
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.eventBus:Lio/vertx/core/eventbus/impl/EventBusImpl;
            aload 5 /* creditsAddress */
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.send:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/eventbus/EventBus;
            pop
         8: .line 273
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
            ifnull 10
         9: .line 274
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.metric:Ljava/lang/Object;
            iload 4 /* local */
            invokeinterface io.vertx.core.spi.metrics.EventBusMetrics.beginHandleMessage:(Ljava/lang/Object;Z)V
        10: .line 276
      StackMap locals:
      StackMap stack:
            aload 1 /* theHandler */
            aload 2 /* message */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        11: .line 277
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
            ifnull 19
        12: .line 278
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.metric:Ljava/lang/Object;
            aconst_null
            invokeinterface io.vertx.core.spi.metrics.EventBusMetrics.endHandleMessage:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        13: .line 280
            goto 19
      StackMap locals:
      StackMap stack: java.lang.Exception
        14: astore 6 /* e */
        start local 6 // java.lang.Exception e
        15: .line 281
            getstatic io.vertx.core.eventbus.impl.HandlerRegistration.log:Lio/vertx/core/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Failed to handleMessage. address: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* message */
            invokeinterface io.vertx.core.eventbus.Message.address:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 6 /* e */
            invokevirtual io.vertx.core.logging.Logger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        16: .line 282
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
            ifnull 18
        17: .line 283
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.metric:Ljava/lang/Object;
            aload 6 /* e */
            invokeinterface io.vertx.core.spi.metrics.EventBusMetrics.endHandleMessage:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        18: .line 285
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 3 /* context */
            aload 6 /* e */
            invokeinterface io.vertx.core.impl.ContextInternal.reportException:(Ljava/lang/Throwable;)V
        end local 6 // java.lang.Exception e
        19: .line 287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.checkNextTick:()V
        20: .line 288
            return
        end local 5 // java.lang.String creditsAddress
        end local 4 // boolean local
        end local 3 // io.vertx.core.impl.ContextInternal context
        end local 2 // io.vertx.core.eventbus.Message message
        end local 1 // io.vertx.core.Handler theHandler
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   21     0            this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
            0   21     1      theHandler  Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;
            0   21     2         message  Lio/vertx/core/eventbus/Message<TT;>;
            0   21     3         context  Lio/vertx/core/impl/ContextInternal;
            1   21     4           local  Z
            3    5     5            cmsg  Lio/vertx/core/eventbus/impl/clustered/ClusteredMessage;
            6   21     5  creditsAddress  Ljava/lang/String;
           15   19     6               e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           8    13      14  Class java.lang.Exception
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;Lio/vertx/core/eventbus/Message<TT;>;Lio/vertx/core/impl/ContextInternal;)V
    MethodParameters:
            Name  Flags
      theHandler  
      message     
      context     

  private synchronized void checkNextTick();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
         0: .line 292
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.pending:Ljava/util/Queue;
            invokeinterface java.util.Queue.isEmpty:()Z
            ifne 2
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.demand:J
            lconst_0
            lcmp
            ifle 2
         1: .line 293
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.handlerContext:Lio/vertx/core/impl/ContextInternal;
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/core/eventbus/impl/HandlerRegistration;)Lio/vertx/core/Handler;
              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:
                  (Ljava/lang/Object;)V
                  io/vertx/core/eventbus/impl/HandlerRegistration.lambda$4(Ljava/lang/Void;)V (7)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.core.impl.ContextInternal.runOnContext:(Lio/vertx/core/Handler;)V
         2: .line 310
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;

  public synchronized void discardHandler(io.vertx.core.Handler<io.vertx.core.eventbus.Message<T>>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
        start local 1 // io.vertx.core.Handler handler
         0: .line 316
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.discardHandler:Lio/vertx/core/Handler;
         1: .line 317
            return
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
            0    2     1  handler  Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;)V
    MethodParameters:
         Name  Flags
      handler  

  public synchronized io.vertx.core.eventbus.MessageConsumer<T> handler(io.vertx.core.Handler<io.vertx.core.eventbus.Message<T>>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/MessageConsumer;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
        start local 1 // io.vertx.core.Handler h
         0: .line 321
            aload 1 /* h */
            ifnull 12
         1: .line 322
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 323
            aload 0 /* this */
            aload 1 /* h */
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.handler:Lio/vertx/core/Handler;
         3: .line 324
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.registered:Lio/vertx/core/eventbus/impl/HandlerHolder;
            ifnonnull 7
         4: .line 325
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.eventBus:Lio/vertx/core/eventbus/impl/EventBusImpl;
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.address:Ljava/lang/String;
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.repliedAddress:Ljava/lang/String;
            ifnull 5
            iconst_1
            goto 6
      StackMap locals: io.vertx.core.eventbus.impl.HandlerRegistration io.vertx.core.Handler io.vertx.core.eventbus.impl.HandlerRegistration
      StackMap stack: io.vertx.core.eventbus.impl.HandlerRegistration io.vertx.core.eventbus.impl.EventBusImpl java.lang.String io.vertx.core.eventbus.impl.HandlerRegistration
         5: iconst_0
      StackMap locals: io.vertx.core.eventbus.impl.HandlerRegistration io.vertx.core.Handler io.vertx.core.eventbus.impl.HandlerRegistration
      StackMap stack: io.vertx.core.eventbus.impl.HandlerRegistration io.vertx.core.eventbus.impl.EventBusImpl java.lang.String io.vertx.core.eventbus.impl.HandlerRegistration int
         6: aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.localOnly:Z
            invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.addRegistration:(Ljava/lang/String;Lio/vertx/core/eventbus/impl/HandlerRegistration;ZZ)Lio/vertx/core/eventbus/impl/HandlerHolder;
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.registered:Lio/vertx/core/eventbus/impl/HandlerHolder;
         7: .line 322
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 2
            monitorexit
        10: athrow
        11: .line 328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        12: .line 330
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.unregister:()V
        13: .line 331
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler h
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
            0   14     1     h  Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;
      Exception table:
        from    to  target  type
           2     8       9  any
           9    10       9  any
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;)Lio/vertx/core/eventbus/MessageConsumer<TT;>;
    MethodParameters:
      Name  Flags
      h     

  public io.vertx.core.streams.ReadStream<T> bodyStream();
    descriptor: ()Lio/vertx/core/streams/ReadStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
         0: .line 336
            new io.vertx.core.eventbus.impl.BodyReadStream
            dup
            aload 0 /* this */
            invokespecial io.vertx.core.eventbus.impl.BodyReadStream.<init>:(Lio/vertx/core/streams/ReadStream;)V
            areturn
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
    Signature: ()Lio/vertx/core/streams/ReadStream<TT;>;

  public synchronized boolean isRegistered();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
         0: .line 341
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.registered:Lio/vertx/core/eventbus/impl/HandlerHolder;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;

  public synchronized io.vertx.core.eventbus.MessageConsumer<T> pause();
    descriptor: ()Lio/vertx/core/eventbus/MessageConsumer;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
         0: .line 346
            aload 0 /* this */
            lconst_0
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.demand:J
         1: .line 347
            aload 0 /* this */
            areturn
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
    Signature: ()Lio/vertx/core/eventbus/MessageConsumer<TT;>;

  public io.vertx.core.eventbus.MessageConsumer<T> resume();
    descriptor: ()Lio/vertx/core/eventbus/MessageConsumer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
         0: .line 352
            aload 0 /* this */
            ldc 9223372036854775807
            invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.fetch:(J)Lio/vertx/core/eventbus/MessageConsumer;
            areturn
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
    Signature: ()Lio/vertx/core/eventbus/MessageConsumer<TT;>;

  public synchronized io.vertx.core.eventbus.MessageConsumer<T> fetch(long);
    descriptor: (J)Lio/vertx/core/eventbus/MessageConsumer;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
        start local 1 // long amount
         0: .line 357
            lload 1 /* amount */
            lconst_0
            lcmp
            ifge 2
         1: .line 358
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 360
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.demand:J
            lload 1 /* amount */
            ladd
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.demand:J
         3: .line 361
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.demand:J
            lconst_0
            lcmp
            ifge 5
         4: .line 362
            aload 0 /* this */
            ldc 9223372036854775807
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.demand:J
         5: .line 364
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.demand:J
            lconst_0
            lcmp
            ifle 7
         6: .line 365
            aload 0 /* this */
            invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.checkNextTick:()V
         7: .line 367
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // long amount
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
            0    8     1  amount  J
    Signature: (J)Lio/vertx/core/eventbus/MessageConsumer<TT;>;
    MethodParameters:
        Name  Flags
      amount  

  public synchronized io.vertx.core.eventbus.MessageConsumer<T> endHandler(io.vertx.core.Handler<java.lang.Void>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/MessageConsumer;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
        start local 1 // io.vertx.core.Handler endHandler
         0: .line 372
            aload 1 /* endHandler */
            ifnull 4
         1: .line 374
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.vertx:Lio/vertx/core/Vertx;
            invokeinterface io.vertx.core.Vertx.getOrCreateContext:()Lio/vertx/core/Context;
            astore 2 /* endCtx */
        start local 2 // io.vertx.core.Context endCtx
         2: .line 375
            aload 0 /* this */
            aload 2 /* endCtx */
            aload 1 /* endHandler */
            invokedynamic handle(Lio/vertx/core/Context;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              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:
                  (Ljava/lang/Object;)V
                  io/vertx/core/eventbus/impl/HandlerRegistration.lambda$5(Lio/vertx/core/Context;Lio/vertx/core/Handler;Ljava/lang/Void;)V (6)
                  (Ljava/lang/Void;)V
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.endHandler:Lio/vertx/core/Handler;
        end local 2 // io.vertx.core.Context endCtx
         3: .line 376
            goto 5
         4: .line 377
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.endHandler:Lio/vertx/core/Handler;
         5: .line 379
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler endHandler
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
            0    6     1  endHandler  Lio/vertx/core/Handler<Ljava/lang/Void;>;
            2    3     2      endCtx  Lio/vertx/core/Context;
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Void;>;)Lio/vertx/core/eventbus/MessageConsumer<TT;>;
    MethodParameters:
            Name  Flags
      endHandler  

  public synchronized io.vertx.core.eventbus.MessageConsumer<T> exceptionHandler(io.vertx.core.Handler<java.lang.Throwable>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/MessageConsumer;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
        start local 1 // io.vertx.core.Handler handler
         0: .line 384
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
            0    1     1  handler  Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Throwable;>;)Lio/vertx/core/eventbus/MessageConsumer<TT;>;
    MethodParameters:
         Name  Flags
      handler  

  public io.vertx.core.Handler<io.vertx.core.eventbus.Message<T>> getHandler();
    descriptor: ()Lio/vertx/core/Handler;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
         0: .line 388
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.handler:Lio/vertx/core/Handler;
            areturn
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
    Signature: ()Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;

  public java.lang.Object getMetric();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
         0: .line 392
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.metric:Ljava/lang/Object;
            areturn
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;

  public io.vertx.core.streams.ReadStream pause();
    descriptor: ()Lio/vertx/core/streams/ReadStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.pause:()Lio/vertx/core/eventbus/MessageConsumer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.ReadStream handler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast io.vertx.core.Handler
            invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.handler:(Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/MessageConsumer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.ReadStream endHandler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
    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.vertx.core.eventbus.impl.HandlerRegistration.endHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/MessageConsumer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void handle(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast io.vertx.core.eventbus.Message
            invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.handle:(Lio/vertx/core/eventbus/Message;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.ReadStream resume();
    descriptor: ()Lio/vertx/core/streams/ReadStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.resume:()Lio/vertx/core/eventbus/MessageConsumer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.ReadStream fetch(long);
    descriptor: (J)Lio/vertx/core/streams/ReadStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=2
         0: .line 1
            aload 0
            lload 1
            invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.fetch:(J)Lio/vertx/core/eventbus/MessageConsumer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.StreamBase exceptionHandler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/StreamBase;
    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.vertx.core.eventbus.impl.HandlerRegistration.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/MessageConsumer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.ReadStream exceptionHandler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
    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.vertx.core.eventbus.impl.HandlerRegistration.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/MessageConsumer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void lambda$0(io.vertx.core.spi.metrics.EventBusMetrics, java.lang.String, long, java.lang.String, java.lang.Long);
    descriptor: (Lio/vertx/core/spi/metrics/EventBusMetrics;Ljava/lang/String;JLjava/lang/String;Ljava/lang/Long;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
        start local 6 // java.lang.Long tid
         0: .line 75
            aload 1
            ifnull 2
         1: .line 76
            aload 1
            aload 2
            getstatic io.vertx.core.eventbus.ReplyFailure.TIMEOUT:Lio/vertx/core/eventbus/ReplyFailure;
            invokeinterface io.vertx.core.spi.metrics.EventBusMetrics.replyFailure:(Ljava/lang/String;Lio/vertx/core/eventbus/ReplyFailure;)V
         2: .line 78
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new io.vertx.core.eventbus.ReplyException
            dup
            getstatic io.vertx.core.eventbus.ReplyFailure.TIMEOUT:Lio/vertx/core/eventbus/ReplyFailure;
            new java.lang.StringBuilder
            dup
            ldc "Timed out after waiting "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 3
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "(ms) for a reply. address: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", repliedAddress: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.vertx.core.eventbus.ReplyException.<init>:(Lio/vertx/core/eventbus/ReplyFailure;Ljava/lang/String;)V
            invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.sendAsyncResultFailure:(Lio/vertx/core/eventbus/ReplyException;)V
         3: .line 79
            return
        end local 6 // java.lang.Long tid
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
            0    4     6   tid  Ljava/lang/Long;

  private static void lambda$1(io.vertx.core.Handler, io.vertx.core.AsyncResult, java.lang.Void);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;Ljava/lang/Void;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 2 // java.lang.Void v
         0: .line 127
            aload 0
            aload 1
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
            return
        end local 2 // java.lang.Void v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     2     v  Ljava/lang/Void;

  private static void lambda$2(io.vertx.core.Handler, io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 2 // io.vertx.core.AsyncResult ar
         0: .line 160
            aload 0
            aconst_null
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         1: .line 161
            aload 1
            ifnull 3
         2: .line 162
            aload 1
            aload 2 /* ar */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         3: .line 164
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult ar
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     2    ar  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private static void lambda$3(io.vertx.core.Handler, io.vertx.core.AsyncResult, java.lang.Void);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;Ljava/lang/Void;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 2 // java.lang.Void v
         0: .line 201
            aload 0
            aload 1
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
            return
        end local 2 // java.lang.Void v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     2     v  Ljava/lang/Void;

  private void lambda$4(java.lang.Void);
    descriptor: (Ljava/lang/Void;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
        start local 1 // java.lang.Void v
         0: .line 297
            aload 0 /* this */
            dup
            astore 5
            monitorenter
         1: .line 298
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.demand:J
            lconst_0
            lcmp
            ifeq 3
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.pending:Ljava/util/Queue;
            invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
            checkcast io.vertx.core.eventbus.Message
            dup
            astore 2 /* message */
        start local 2 // io.vertx.core.eventbus.Message message
         2: ifnonnull 5
        end local 2 // io.vertx.core.eventbus.Message message
         3: .line 299
      StackMap locals: io.vertx.core.eventbus.impl.HandlerRegistration java.lang.Void top top top io.vertx.core.eventbus.impl.HandlerRegistration
      StackMap stack:
            aload 5
            monitorexit
         4: return
        start local 2 // io.vertx.core.eventbus.Message message
         5: .line 301
      StackMap locals: io.vertx.core.eventbus.impl.HandlerRegistration java.lang.Void io.vertx.core.eventbus.Message top top io.vertx.core.eventbus.impl.HandlerRegistration
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.demand:J
            ldc 9223372036854775807
            lcmp
            ifeq 7
         6: .line 302
            aload 0 /* this */
            dup
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.demand:J
            lconst_1
            lsub
            putfield io.vertx.core.eventbus.impl.HandlerRegistration.demand:J
         7: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.handler:Lio/vertx/core/Handler;
            astore 3 /* theHandler */
        start local 3 // io.vertx.core.Handler theHandler
         8: .line 305
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.HandlerRegistration.handlerContext:Lio/vertx/core/impl/ContextInternal;
            astore 4 /* ctx */
        start local 4 // io.vertx.core.impl.ContextInternal ctx
         9: .line 297
            aload 5
            monitorexit
        10: goto 13
        end local 4 // io.vertx.core.impl.ContextInternal ctx
        end local 3 // io.vertx.core.Handler theHandler
        end local 2 // io.vertx.core.eventbus.Message message
      StackMap locals: io.vertx.core.eventbus.impl.HandlerRegistration java.lang.Void top top top io.vertx.core.eventbus.impl.HandlerRegistration
      StackMap stack: java.lang.Throwable
        11: aload 5
            monitorexit
        12: athrow
        start local 2 // io.vertx.core.eventbus.Message message
        start local 3 // io.vertx.core.Handler theHandler
        start local 4 // io.vertx.core.impl.ContextInternal ctx
        13: .line 307
      StackMap locals: io.vertx.core.eventbus.impl.HandlerRegistration java.lang.Void io.vertx.core.eventbus.Message io.vertx.core.Handler io.vertx.core.impl.ContextInternal
      StackMap stack:
            aload 0 /* this */
            aload 3 /* theHandler */
            aload 2 /* message */
            aload 4 /* ctx */
            invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.deliver:(Lio/vertx/core/Handler;Lio/vertx/core/eventbus/Message;Lio/vertx/core/impl/ContextInternal;)V
        end local 4 // io.vertx.core.impl.ContextInternal ctx
        end local 3 // io.vertx.core.Handler theHandler
        end local 2 // io.vertx.core.eventbus.Message message
        14: .line 308
            return
        end local 1 // java.lang.Void v
        end local 0 // io.vertx.core.eventbus.impl.HandlerRegistration this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
            0   15     1           v  Ljava/lang/Void;
            2    3     2     message  Lio/vertx/core/eventbus/Message<TT;>;
            5   11     2     message  Lio/vertx/core/eventbus/Message<TT;>;
           13   14     2     message  Lio/vertx/core/eventbus/Message<TT;>;
            8   11     3  theHandler  Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;
           13   14     3  theHandler  Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;
            9   11     4         ctx  Lio/vertx/core/impl/ContextInternal;
           13   14     4         ctx  Lio/vertx/core/impl/ContextInternal;
      Exception table:
        from    to  target  type
           1     4      11  any
           5    10      11  any
          11    12      11  any

  private static void lambda$5(io.vertx.core.Context, io.vertx.core.Handler, java.lang.Void);
    descriptor: (Lio/vertx/core/Context;Lio/vertx/core/Handler;Ljava/lang/Void;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 2 // java.lang.Void v1
         0: .line 375
            aload 0
            aload 1
            invokedynamic handle(Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              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:
                  (Ljava/lang/Object;)V
                  io/vertx/core/eventbus/impl/HandlerRegistration.lambda$6(Lio/vertx/core/Handler;Ljava/lang/Void;)V (6)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.core.Context.runOnContext:(Lio/vertx/core/Handler;)V
            return
        end local 2 // java.lang.Void v1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     2    v1  Ljava/lang/Void;

  private static void lambda$6(io.vertx.core.Handler, java.lang.Void);
    descriptor: (Lio/vertx/core/Handler;Ljava/lang/Void;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.Void v2
         0: .line 375
            aload 0
            aconst_null
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
            return
        end local 1 // java.lang.Void v2
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1    v2  Ljava/lang/Void;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lio/vertx/core/eventbus/MessageConsumer<TT;>;Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;
SourceFile: "HandlerRegistration.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles