public class io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl implements io.vertx.core.Handler<io.vertx.ext.web.handler.sockjs.SockJSSocket>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl
  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

  private final java.util.Map<io.vertx.ext.web.handler.sockjs.SockJSSocket, io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo> sockInfos;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$SockInfo;>;

  private final java.util.List<io.vertx.ext.bridge.PermittedOptions> inboundPermitted;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lio/vertx/ext/bridge/PermittedOptions;>;

  private final java.util.List<io.vertx.ext.bridge.PermittedOptions> outboundPermitted;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lio/vertx/ext/bridge/PermittedOptions;>;

  private final int maxAddressLength;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int maxHandlersPerSocket;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long pingTimeout;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long replyTimeout;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private final java.util.Map<java.lang.String, io.vertx.core.eventbus.Message> messagesAwaitingReply;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lio/vertx/core/eventbus/Message;>;

  private final java.util.Map<java.lang.String, java.util.regex.Pattern> compiledREs;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/regex/Pattern;>;

  private final io.vertx.core.Handler<io.vertx.ext.web.handler.sockjs.BridgeEvent> bridgeEventHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/vertx/core/Handler<Lio/vertx/ext/web/handler/sockjs/BridgeEvent;>;

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

  public void <init>(io.vertx.core.Vertx, io.vertx.ext.web.handler.sockjs.BridgeOptions, io.vertx.core.Handler<io.vertx.ext.web.handler.sockjs.BridgeEvent>);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/ext/web/handler/sockjs/BridgeOptions;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // io.vertx.ext.web.handler.sockjs.BridgeOptions options
        start local 3 // io.vertx.core.Handler bridgeEventHandler
         0: .line 79
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 66
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.sockInfos:Ljava/util/Map;
         2: .line 75
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.messagesAwaitingReply:Ljava/util/Map;
         3: .line 76
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.compiledREs:Ljava/util/Map;
         4: .line 80
            aload 0 /* this */
            aload 1 /* vertx */
            putfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.vertx:Lio/vertx/core/Vertx;
         5: .line 81
            aload 0 /* this */
            aload 1 /* vertx */
            invokeinterface io.vertx.core.Vertx.eventBus:()Lio/vertx/core/eventbus/EventBus;
            putfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.eb:Lio/vertx/core/eventbus/EventBus;
         6: .line 82
            aload 0 /* this */
            aload 2 /* options */
            invokevirtual io.vertx.ext.web.handler.sockjs.BridgeOptions.getInboundPermitteds:()Ljava/util/List;
            ifnonnull 7
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            goto 8
      StackMap locals: io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl io.vertx.core.Vertx io.vertx.ext.web.handler.sockjs.BridgeOptions io.vertx.core.Handler
      StackMap stack: io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl
         7: aload 2 /* options */
            invokevirtual io.vertx.ext.web.handler.sockjs.BridgeOptions.getInboundPermitteds:()Ljava/util/List;
      StackMap locals: io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl io.vertx.core.Vertx io.vertx.ext.web.handler.sockjs.BridgeOptions io.vertx.core.Handler
      StackMap stack: io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl java.util.List
         8: putfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.inboundPermitted:Ljava/util/List;
         9: .line 83
            aload 0 /* this */
            aload 2 /* options */
            invokevirtual io.vertx.ext.web.handler.sockjs.BridgeOptions.getOutboundPermitteds:()Ljava/util/List;
            ifnonnull 10
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            goto 11
      StackMap locals:
      StackMap stack: io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl
        10: aload 2 /* options */
            invokevirtual io.vertx.ext.web.handler.sockjs.BridgeOptions.getOutboundPermitteds:()Ljava/util/List;
      StackMap locals: io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl io.vertx.core.Vertx io.vertx.ext.web.handler.sockjs.BridgeOptions io.vertx.core.Handler
      StackMap stack: io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl java.util.List
        11: putfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.outboundPermitted:Ljava/util/List;
        12: .line 84
            aload 0 /* this */
            aload 2 /* options */
            invokevirtual io.vertx.ext.web.handler.sockjs.BridgeOptions.getMaxAddressLength:()I
            putfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.maxAddressLength:I
        13: .line 85
            aload 0 /* this */
            aload 2 /* options */
            invokevirtual io.vertx.ext.web.handler.sockjs.BridgeOptions.getMaxHandlersPerSocket:()I
            putfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.maxHandlersPerSocket:I
        14: .line 86
            aload 0 /* this */
            aload 2 /* options */
            invokevirtual io.vertx.ext.web.handler.sockjs.BridgeOptions.getPingTimeout:()J
            putfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.pingTimeout:J
        15: .line 87
            aload 0 /* this */
            aload 2 /* options */
            invokevirtual io.vertx.ext.web.handler.sockjs.BridgeOptions.getReplyTimeout:()J
            putfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.replyTimeout:J
        16: .line 88
            aload 0 /* this */
            aload 3 /* bridgeEventHandler */
            putfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.bridgeEventHandler:Lio/vertx/core/Handler;
        17: .line 89
            return
        end local 3 // io.vertx.core.Handler bridgeEventHandler
        end local 2 // io.vertx.ext.web.handler.sockjs.BridgeOptions options
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   18     0                this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0   18     1               vertx  Lio/vertx/core/Vertx;
            0   18     2             options  Lio/vertx/ext/web/handler/sockjs/BridgeOptions;
            0   18     3  bridgeEventHandler  Lio/vertx/core/Handler<Lio/vertx/ext/web/handler/sockjs/BridgeEvent;>;
    Signature: (Lio/vertx/core/Vertx;Lio/vertx/ext/web/handler/sockjs/BridgeOptions;Lio/vertx/core/Handler<Lio/vertx/ext/web/handler/sockjs/BridgeEvent;>;)V
    MethodParameters:
                    Name  Flags
      vertx               
      options             
      bridgeEventHandler  

  private void handleSocketClosed(io.vertx.ext.web.handler.sockjs.SockJSSocket, java.util.Map<java.lang.String, io.vertx.core.eventbus.MessageConsumer>);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 1 // io.vertx.ext.web.handler.sockjs.SockJSSocket sock
        start local 2 // java.util.Map registrations
         0: .line 93
            aload 2 /* registrations */
            aload 0 /* this */
            aload 1 /* sock */
            invokedynamic accept(Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Ljava/util/function/BiConsumer;
              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;Ljava/lang/Object;)V
                  io/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$0(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;Lio/vertx/core/eventbus/MessageConsumer;)V (7)
                  (Ljava/lang/String;Lio/vertx/core/eventbus/MessageConsumer;)V
            invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
         1: .line 99
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.sockInfos:Ljava/util/Map;
            aload 1 /* sock */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo
            astore 3 /* info */
        start local 3 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo info
         2: .line 100
            aload 3 /* info */
            ifnull 6
         3: .line 101
            aload 3 /* info */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo.pingInfo:Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$PingInfo;
            astore 4 /* pingInfo */
        start local 4 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$PingInfo pingInfo
         4: .line 102
            aload 4 /* pingInfo */
            ifnull 6
         5: .line 103
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.vertx:Lio/vertx/core/Vertx;
            aload 4 /* pingInfo */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$PingInfo.timerID:J
            invokeinterface io.vertx.core.Vertx.cancelTimer:(J)Z
            pop
        end local 4 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$PingInfo pingInfo
         6: .line 107
      StackMap locals: io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sock */
            invokedynamic get(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Ljava/util/function/Supplier;
              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;
                  io/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$2(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl; (6)
                  ()Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl;
         7: .line 108
            aconst_null
            aconst_null
         8: .line 107
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.checkCallHook:(Ljava/util/function/Supplier;Ljava/lang/Runnable;Ljava/lang/Runnable;)V
         9: .line 109
            return
        end local 3 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo info
        end local 2 // java.util.Map registrations
        end local 1 // io.vertx.ext.web.handler.sockjs.SockJSSocket sock
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0   10     1           sock  Lio/vertx/ext/web/handler/sockjs/SockJSSocket;
            0   10     2  registrations  Ljava/util/Map<Ljava/lang/String;Lio/vertx/core/eventbus/MessageConsumer;>;
            2   10     3           info  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$SockInfo;
            4    6     4       pingInfo  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$PingInfo;
    Signature: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/util/Map<Ljava/lang/String;Lio/vertx/core/eventbus/MessageConsumer;>;)V
    MethodParameters:
               Name  Flags
      sock           
      registrations  

  private void handleSocketData(io.vertx.ext.web.handler.sockjs.SockJSSocket, io.vertx.core.buffer.Buffer, java.util.Map<java.lang.String, io.vertx.core.eventbus.MessageConsumer>);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Lio/vertx/core/buffer/Buffer;Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 1 // io.vertx.ext.web.handler.sockjs.SockJSSocket sock
        start local 2 // io.vertx.core.buffer.Buffer data
        start local 3 // java.util.Map registrations
         0: .line 115
            new io.vertx.core.json.JsonObject
            dup
            aload 2 /* data */
            invokeinterface io.vertx.core.buffer.Buffer.toString:()Ljava/lang/String;
            invokespecial io.vertx.core.json.JsonObject.<init>:(Ljava/lang/String;)V
            astore 4 /* msg */
        start local 4 // io.vertx.core.json.JsonObject msg
         1: .line 116
            goto 5
        end local 4 // io.vertx.core.json.JsonObject msg
      StackMap locals:
      StackMap stack: io.vertx.core.json.DecodeException
         2: pop
         3: .line 117
            aload 1 /* sock */
            ldc "invalid_json"
            invokestatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.replyError:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;)V
         4: .line 118
            return
        start local 4 // io.vertx.core.json.JsonObject msg
         5: .line 121
      StackMap locals: io.vertx.core.json.JsonObject
      StackMap stack:
            aload 4 /* msg */
            ldc "type"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* type */
        start local 5 // java.lang.String type
         6: .line 122
            aload 5 /* type */
            ifnonnull 9
         7: .line 123
            aload 1 /* sock */
            ldc "missing_type"
            invokestatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.replyError:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;)V
         8: .line 124
            return
         9: .line 127
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* type */
            ldc "ping"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 128
            aload 0 /* this */
            aload 1 /* sock */
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.internalHandlePing:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)V
        11: .line 129
            goto 31
        12: .line 130
      StackMap locals:
      StackMap stack:
            aload 4 /* msg */
            ldc "address"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* address */
        start local 6 // java.lang.String address
        13: .line 131
            aload 6 /* address */
            ifnonnull 16
        14: .line 132
            aload 1 /* sock */
            ldc "missing_address"
            invokestatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.replyError:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;)V
        15: .line 133
            return
        16: .line 135
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* type */
            dup
            astore 7
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 4
           -690213213: 17
           -235365105: 18
              3526536: 19
            836015164: 20
              default: 29
          }
      StackMap locals: java.lang.String
      StackMap stack:
        17: aload 7
            ldc "register"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 25
            goto 29
      StackMap locals:
      StackMap stack:
        18: aload 7
            ldc "publish"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 29
      StackMap locals:
      StackMap stack:
        19: aload 7
            ldc "send"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 21
            goto 29
      StackMap locals:
      StackMap stack:
        20: aload 7
            ldc "unregister"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 27
            goto 29
        21: .line 137
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sock */
            iconst_1
            aload 4 /* msg */
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.internalHandleSendOrPub:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;ZLio/vertx/core/json/JsonObject;)V
        22: .line 138
            goto 31
        23: .line 140
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sock */
            iconst_0
            aload 4 /* msg */
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.internalHandleSendOrPub:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;ZLio/vertx/core/json/JsonObject;)V
        24: .line 141
            goto 31
        25: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sock */
            aload 4 /* msg */
            aload 3 /* registrations */
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.internalHandleRegister:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Lio/vertx/core/json/JsonObject;Ljava/util/Map;)V
        26: .line 144
            goto 31
        27: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sock */
            aload 4 /* msg */
            aload 3 /* registrations */
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.internalHandleUnregister:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Lio/vertx/core/json/JsonObject;Ljava/util/Map;)V
        28: .line 147
            goto 31
        29: .line 149
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.log:Lio/vertx/core/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Invalid type in incoming message: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* type */
            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
        30: .line 150
            aload 1 /* sock */
            ldc "invalid_type"
            invokestatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.replyError:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;)V
        end local 6 // java.lang.String address
        31: .line 154
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.String type
        end local 4 // io.vertx.core.json.JsonObject msg
        end local 3 // java.util.Map registrations
        end local 2 // io.vertx.core.buffer.Buffer data
        end local 1 // io.vertx.ext.web.handler.sockjs.SockJSSocket sock
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   32     0           this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0   32     1           sock  Lio/vertx/ext/web/handler/sockjs/SockJSSocket;
            0   32     2           data  Lio/vertx/core/buffer/Buffer;
            0   32     3  registrations  Ljava/util/Map<Ljava/lang/String;Lio/vertx/core/eventbus/MessageConsumer;>;
            1    2     4            msg  Lio/vertx/core/json/JsonObject;
            5   32     4            msg  Lio/vertx/core/json/JsonObject;
            6   32     5           type  Ljava/lang/String;
           13   31     6        address  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class io.vertx.core.json.DecodeException
    Signature: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Lio/vertx/core/buffer/Buffer;Ljava/util/Map<Ljava/lang/String;Lio/vertx/core/eventbus/MessageConsumer;>;)V
    MethodParameters:
               Name  Flags
      sock           
      data           
      registrations  

  private void checkCallHook(java.util.function.Supplier<io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl>, java.lang.Runnable, java.lang.Runnable);
    descriptor: (Ljava/util/function/Supplier;Ljava/lang/Runnable;Ljava/lang/Runnable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 1 // java.util.function.Supplier eventSupplier
        start local 2 // java.lang.Runnable okAction
        start local 3 // java.lang.Runnable rejectAction
         0: .line 157
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.bridgeEventHandler:Lio/vertx/core/Handler;
            ifnonnull 4
         1: .line 158
            aload 2 /* okAction */
            ifnull 7
         2: .line 159
            aload 2 /* okAction */
            invokeinterface java.lang.Runnable.run:()V
         3: .line 161
            goto 7
         4: .line 162
      StackMap locals:
      StackMap stack:
            aload 1 /* eventSupplier */
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            checkcast io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl
            astore 4 /* event */
        start local 4 // io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl event
         5: .line 163
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.bridgeEventHandler:Lio/vertx/core/Handler;
            aload 4 /* event */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         6: .line 164
            aload 4 /* event */
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl.future:()Lio/vertx/core/Future;
            aload 2 /* okAction */
            aload 3 /* rejectAction */
            invokedynamic handle(Ljava/lang/Runnable;Ljava/lang/Runnable;)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/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$3(Ljava/lang/Runnable;Ljava/lang/Runnable;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.Future.setHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
        end local 4 // io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl event
         7: .line 182
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Runnable rejectAction
        end local 2 // java.lang.Runnable okAction
        end local 1 // java.util.function.Supplier eventSupplier
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0    8     1  eventSupplier  Ljava/util/function/Supplier<Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl;>;
            0    8     2       okAction  Ljava/lang/Runnable;
            0    8     3   rejectAction  Ljava/lang/Runnable;
            5    7     4          event  Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl;
    Signature: (Ljava/util/function/Supplier<Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl;>;Ljava/lang/Runnable;Ljava/lang/Runnable;)V
    MethodParameters:
               Name  Flags
      eventSupplier  
      okAction       
      rejectAction   

  private void internalHandleSendOrPub(io.vertx.ext.web.handler.sockjs.SockJSSocket, boolean, io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;ZLio/vertx/core/json/JsonObject;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 1 // io.vertx.ext.web.handler.sockjs.SockJSSocket sock
        start local 2 // boolean send
        start local 3 // io.vertx.core.json.JsonObject msg
         0: .line 185
            aload 0 /* this */
            iload 2 /* send */
            aload 3 /* msg */
            aload 1 /* sock */
            invokedynamic get(ZLio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Ljava/util/function/Supplier;
              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;
                  io/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$4(ZLio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl; (6)
                  ()Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl;
         1: .line 186
            aload 0 /* this */
            aload 3 /* msg */
            aload 1 /* sock */
            iload 2 /* send */
            invokedynamic run(Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Z)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  io/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$5(Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Z)V (7)
                  ()V
         2: .line 193
            aload 1 /* sock */
            invokedynamic run(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  io/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$6(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)V (6)
                  ()V
         3: .line 185
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.checkCallHook:(Ljava/util/function/Supplier;Ljava/lang/Runnable;Ljava/lang/Runnable;)V
         4: .line 194
            return
        end local 3 // io.vertx.core.json.JsonObject msg
        end local 2 // boolean send
        end local 1 // io.vertx.ext.web.handler.sockjs.SockJSSocket sock
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0    5     1  sock  Lio/vertx/ext/web/handler/sockjs/SockJSSocket;
            0    5     2  send  Z
            0    5     3   msg  Lio/vertx/core/json/JsonObject;
    MethodParameters:
      Name  Flags
      sock  
      send  
      msg   

  private boolean checkMaxHandlers(io.vertx.ext.web.handler.sockjs.SockJSSocket, io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$SockInfo;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 1 // io.vertx.ext.web.handler.sockjs.SockJSSocket sock
        start local 2 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo info
         0: .line 197
            aload 2 /* info */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo.handlerCount:I
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.maxHandlersPerSocket:I
            if_icmpge 2
         1: .line 198
            iconst_1
            ireturn
         2: .line 200
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.log:Lio/vertx/core/logging/Logger;
            ldc "Refusing to register as max_handlers_per_socket reached already"
            invokevirtual io.vertx.core.logging.Logger.warn:(Ljava/lang/Object;)V
         3: .line 201
            aload 1 /* sock */
            ldc "max_handlers_reached"
            invokestatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.replyError:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;)V
         4: .line 202
            iconst_0
            ireturn
        end local 2 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo info
        end local 1 // io.vertx.ext.web.handler.sockjs.SockJSSocket sock
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0    5     1  sock  Lio/vertx/ext/web/handler/sockjs/SockJSSocket;
            0    5     2  info  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$SockInfo;
    MethodParameters:
      Name  Flags
      sock  
      info  

  private void internalHandleRegister(io.vertx.ext.web.handler.sockjs.SockJSSocket, io.vertx.core.json.JsonObject, java.util.Map<java.lang.String, io.vertx.core.eventbus.MessageConsumer>);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Lio/vertx/core/json/JsonObject;Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 1 // io.vertx.ext.web.handler.sockjs.SockJSSocket sock
        start local 2 // io.vertx.core.json.JsonObject rawMsg
        start local 3 // java.util.Map registrations
         0: .line 207
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.sockInfos:Ljava/util/Map;
            aload 1 /* sock */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo
            astore 4 /* info */
        start local 4 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo info
         1: .line 208
            aload 0 /* this */
            aload 1 /* sock */
            aload 4 /* info */
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.checkMaxHandlers:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$SockInfo;)Z
            ifne 3
         2: .line 209
            return
         3: .line 211
      StackMap locals: io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo
      StackMap stack:
            aload 0 /* this */
            aload 2 /* rawMsg */
            aload 1 /* sock */
            invokedynamic get(Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Ljava/util/function/Supplier;
              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;
                  io/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$7(Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl; (6)
                  ()Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl;
         4: .line 212
            aload 0 /* this */
            aload 2 /* rawMsg */
            aload 1 /* sock */
            aload 3 /* registrations */
            aload 4 /* info */
            invokedynamic run(Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/util/Map;Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$SockInfo;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  io/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$8(Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/util/Map;Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$SockInfo;)V (7)
                  ()V
         5: .line 265
            aload 1 /* sock */
            invokedynamic run(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  io/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$9(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)V (6)
                  ()V
         6: .line 211
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.checkCallHook:(Ljava/util/function/Supplier;Ljava/lang/Runnable;Ljava/lang/Runnable;)V
         7: .line 266
            return
        end local 4 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo info
        end local 3 // java.util.Map registrations
        end local 2 // io.vertx.core.json.JsonObject rawMsg
        end local 1 // io.vertx.ext.web.handler.sockjs.SockJSSocket sock
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0    8     1           sock  Lio/vertx/ext/web/handler/sockjs/SockJSSocket;
            0    8     2         rawMsg  Lio/vertx/core/json/JsonObject;
            0    8     3  registrations  Ljava/util/Map<Ljava/lang/String;Lio/vertx/core/eventbus/MessageConsumer;>;
            1    8     4           info  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$SockInfo;
    Signature: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Lio/vertx/core/json/JsonObject;Ljava/util/Map<Ljava/lang/String;Lio/vertx/core/eventbus/MessageConsumer;>;)V
    MethodParameters:
               Name  Flags
      sock           
      rawMsg         
      registrations  

  private void internalHandleUnregister(io.vertx.ext.web.handler.sockjs.SockJSSocket, io.vertx.core.json.JsonObject, java.util.Map<java.lang.String, io.vertx.core.eventbus.MessageConsumer>);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Lio/vertx/core/json/JsonObject;Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 1 // io.vertx.ext.web.handler.sockjs.SockJSSocket sock
        start local 2 // io.vertx.core.json.JsonObject rawMsg
        start local 3 // java.util.Map registrations
         0: .line 269
            aload 0 /* this */
            aload 2 /* rawMsg */
            aload 1 /* sock */
            invokedynamic get(Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Ljava/util/function/Supplier;
              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;
                  io/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$12(Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl; (6)
                  ()Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl;
         1: .line 270
            aload 0 /* this */
            aload 2 /* rawMsg */
            aload 1 /* sock */
            aload 3 /* registrations */
            invokedynamic run(Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/util/Map;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  io/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$13(Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/util/Map;)V (7)
                  ()V
         2: .line 290
            aload 1 /* sock */
            invokedynamic run(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  io/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$14(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)V (6)
                  ()V
         3: .line 269
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.checkCallHook:(Ljava/util/function/Supplier;Ljava/lang/Runnable;Ljava/lang/Runnable;)V
         4: .line 291
            return
        end local 3 // java.util.Map registrations
        end local 2 // io.vertx.core.json.JsonObject rawMsg
        end local 1 // io.vertx.ext.web.handler.sockjs.SockJSSocket sock
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0    5     1           sock  Lio/vertx/ext/web/handler/sockjs/SockJSSocket;
            0    5     2         rawMsg  Lio/vertx/core/json/JsonObject;
            0    5     3  registrations  Ljava/util/Map<Ljava/lang/String;Lio/vertx/core/eventbus/MessageConsumer;>;
    Signature: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Lio/vertx/core/json/JsonObject;Ljava/util/Map<Ljava/lang/String;Lio/vertx/core/eventbus/MessageConsumer;>;)V
    MethodParameters:
               Name  Flags
      sock           
      rawMsg         
      registrations  

  private void internalHandlePing(io.vertx.ext.web.handler.sockjs.SockJSSocket);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 1 // io.vertx.ext.web.handler.sockjs.SockJSSocket sock
         0: .line 294
            aload 1 /* sock */
            invokeinterface io.vertx.ext.web.handler.sockjs.SockJSSocket.webSession:()Lio/vertx/ext/web/Session;
            astore 2 /* webSession */
        start local 2 // io.vertx.ext.web.Session webSession
         1: .line 295
            aload 2 /* webSession */
            ifnull 3
         2: .line 296
            aload 2 /* webSession */
            invokeinterface io.vertx.ext.web.Session.setAccessed:()V
         3: .line 298
      StackMap locals: io.vertx.ext.web.Session
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.sockInfos:Ljava/util/Map;
            aload 1 /* sock */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo
            astore 3 /* info */
        start local 3 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo info
         4: .line 299
            aload 3 /* info */
            ifnull 7
         5: .line 300
            aload 3 /* info */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo.pingInfo:Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$PingInfo;
            invokestatic java.lang.System.currentTimeMillis:()J
            putfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$PingInfo.lastPing:J
         6: .line 302
            aload 0 /* this */
            aload 1 /* sock */
            invokedynamic get(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Ljava/util/function/Supplier;
              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;
                  io/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$15(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl; (6)
                  ()Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl;
            aconst_null
            aconst_null
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.checkCallHook:(Ljava/util/function/Supplier;Ljava/lang/Runnable;Ljava/lang/Runnable;)V
         7: .line 304
      StackMap locals: io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo
      StackMap stack:
            return
        end local 3 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo info
        end local 2 // io.vertx.ext.web.Session webSession
        end local 1 // io.vertx.ext.web.handler.sockjs.SockJSSocket sock
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0    8     1        sock  Lio/vertx/ext/web/handler/sockjs/SockJSSocket;
            1    8     2  webSession  Lio/vertx/ext/web/Session;
            4    8     3        info  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$SockInfo;
    MethodParameters:
      Name  Flags
      sock  final

  public void handle(io.vertx.ext.web.handler.sockjs.SockJSSocket);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 1 // io.vertx.ext.web.handler.sockjs.SockJSSocket sock
         0: .line 307
            aload 0 /* this */
            aload 1 /* sock */
            invokedynamic get(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Ljava/util/function/Supplier;
              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;
                  io/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$16(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl; (6)
                  ()Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl;
         1: .line 308
            aload 0 /* this */
            aload 1 /* sock */
            invokedynamic run(Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  io/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$17(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)V (7)
                  ()V
         2: .line 328
            aload 1 /* sock */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic run(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  io/vertx/ext/web/handler/sockjs/SockJSSocket.close()V (9 itf)
                  ()V
         3: .line 307
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.checkCallHook:(Ljava/util/function/Supplier;Ljava/lang/Runnable;Ljava/lang/Runnable;)V
         4: .line 329
            return
        end local 1 // io.vertx.ext.web.handler.sockjs.SockJSSocket sock
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0    5     1  sock  Lio/vertx/ext/web/handler/sockjs/SockJSSocket;
    MethodParameters:
      Name  Flags
      sock  final

  private void checkAddAccceptedReplyAddress(io.vertx.core.eventbus.Message);
    descriptor: (Lio/vertx/core/eventbus/Message;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 1 // io.vertx.core.eventbus.Message message
         0: .line 332
            aload 1 /* message */
            invokeinterface io.vertx.core.eventbus.Message.replyAddress:()Ljava/lang/String;
            astore 2 /* replyAddress */
        start local 2 // java.lang.String replyAddress
         1: .line 333
            aload 2 /* replyAddress */
            ifnull 4
         2: .line 341
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.messagesAwaitingReply:Ljava/util/Map;
            aload 2 /* replyAddress */
            aload 1 /* message */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 343
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.vertx:Lio/vertx/core/Vertx;
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.replyTimeout:J
            aload 0 /* this */
            aload 2 /* replyAddress */
            invokedynamic handle(Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;Ljava/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/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$25(Ljava/lang/String;Ljava/lang/Long;)V (7)
                  (Ljava/lang/Long;)V
            invokeinterface io.vertx.core.Vertx.setTimer:(JLio/vertx/core/Handler;)J
            pop2
         4: .line 345
      StackMap locals: java.lang.String
      StackMap stack:
            return
        end local 2 // java.lang.String replyAddress
        end local 1 // io.vertx.core.eventbus.Message message
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0    5     1       message  Lio/vertx/core/eventbus/Message;
            1    5     2  replyAddress  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  private void deliverMessage(io.vertx.ext.web.handler.sockjs.SockJSSocket, java.lang.String, io.vertx.core.eventbus.Message);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;Lio/vertx/core/eventbus/Message;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 1 // io.vertx.ext.web.handler.sockjs.SockJSSocket sock
        start local 2 // java.lang.String address
        start local 3 // io.vertx.core.eventbus.Message message
         0: .line 348
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            ldc "type"
            ldc "rec"
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            ldc "address"
            aload 2 /* address */
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            ldc "body"
            aload 3 /* message */
            invokeinterface io.vertx.core.eventbus.Message.body:()Ljava/lang/Object;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
            astore 4 /* envelope */
        start local 4 // io.vertx.core.json.JsonObject envelope
         1: .line 349
            aload 3 /* message */
            invokeinterface io.vertx.core.eventbus.Message.replyAddress:()Ljava/lang/String;
            ifnull 3
         2: .line 350
            aload 4 /* envelope */
            ldc "replyAddress"
            aload 3 /* message */
            invokeinterface io.vertx.core.eventbus.Message.replyAddress:()Ljava/lang/String;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            pop
         3: .line 352
      StackMap locals: io.vertx.core.json.JsonObject
      StackMap stack:
            aload 3 /* message */
            invokeinterface io.vertx.core.eventbus.Message.headers:()Lio/vertx/core/MultiMap;
            ifnull 14
            aload 3 /* message */
            invokeinterface io.vertx.core.eventbus.Message.headers:()Lio/vertx/core/MultiMap;
            invokeinterface io.vertx.core.MultiMap.isEmpty:()Z
            ifne 14
         4: .line 353
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            astore 5 /* headersCopy */
        start local 5 // io.vertx.core.json.JsonObject headersCopy
         5: .line 354
            aload 3 /* message */
            invokeinterface io.vertx.core.eventbus.Message.headers:()Lio/vertx/core/MultiMap;
            invokeinterface io.vertx.core.MultiMap.names:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 12
      StackMap locals: io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl io.vertx.ext.web.handler.sockjs.SockJSSocket java.lang.String io.vertx.core.eventbus.Message io.vertx.core.json.JsonObject io.vertx.core.json.JsonObject top java.util.Iterator
      StackMap stack:
         6: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* name */
        start local 6 // java.lang.String name
         7: .line 355
            aload 3 /* message */
            invokeinterface io.vertx.core.eventbus.Message.headers:()Lio/vertx/core/MultiMap;
            aload 6 /* name */
            invokeinterface io.vertx.core.MultiMap.getAll:(Ljava/lang/String;)Ljava/util/List;
            astore 8 /* values */
        start local 8 // java.util.List values
         8: .line 356
            aload 8 /* values */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 11
         9: .line 357
            aload 5 /* headersCopy */
            aload 6 /* name */
            aload 8 /* values */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            pop
        10: .line 358
            goto 12
        11: .line 359
      StackMap locals: io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl io.vertx.ext.web.handler.sockjs.SockJSSocket java.lang.String io.vertx.core.eventbus.Message io.vertx.core.json.JsonObject io.vertx.core.json.JsonObject java.lang.String java.util.Iterator java.util.List
      StackMap stack:
            aload 5 /* headersCopy */
            aload 6 /* name */
            aload 8 /* values */
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
            pop
        end local 8 // java.util.List values
        end local 6 // java.lang.String name
        12: .line 354
      StackMap locals: io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl io.vertx.ext.web.handler.sockjs.SockJSSocket java.lang.String io.vertx.core.eventbus.Message io.vertx.core.json.JsonObject io.vertx.core.json.JsonObject top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        13: .line 362
            aload 4 /* envelope */
            ldc "headers"
            aload 5 /* headersCopy */
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Lio/vertx/core/json/JsonObject;)Lio/vertx/core/json/JsonObject;
            pop
        end local 5 // io.vertx.core.json.JsonObject headersCopy
        14: .line 364
      StackMap locals: io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl io.vertx.ext.web.handler.sockjs.SockJSSocket java.lang.String io.vertx.core.eventbus.Message io.vertx.core.json.JsonObject
      StackMap stack:
            aload 0 /* this */
            aload 4 /* envelope */
            aload 1 /* sock */
            invokedynamic get(Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Ljava/util/function/Supplier;
              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;
                  io/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$26(Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl; (6)
                  ()Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl;
        15: .line 365
            aload 1 /* sock */
            aload 4 /* envelope */
            invokedynamic run(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Lio/vertx/core/json/JsonObject;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  io/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$27(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Lio/vertx/core/json/JsonObject;)V (6)
                  ()V
        16: .line 366
            invokedynamic run()Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  io/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$28()V (6)
                  ()V
        17: .line 364
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.checkCallHook:(Ljava/util/function/Supplier;Ljava/lang/Runnable;Ljava/lang/Runnable;)V
        18: .line 367
            return
        end local 4 // io.vertx.core.json.JsonObject envelope
        end local 3 // io.vertx.core.eventbus.Message message
        end local 2 // java.lang.String address
        end local 1 // io.vertx.ext.web.handler.sockjs.SockJSSocket sock
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0         this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0   19     1         sock  Lio/vertx/ext/web/handler/sockjs/SockJSSocket;
            0   19     2      address  Ljava/lang/String;
            0   19     3      message  Lio/vertx/core/eventbus/Message;
            1   19     4     envelope  Lio/vertx/core/json/JsonObject;
            5   14     5  headersCopy  Lio/vertx/core/json/JsonObject;
            7   12     6         name  Ljava/lang/String;
            8   12     8       values  Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
         Name  Flags
      sock     
      address  
      message  

  private void doSendOrPub(boolean, io.vertx.ext.web.handler.sockjs.SockJSSocket, java.lang.String, io.vertx.core.json.JsonObject);
    descriptor: (ZLio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;Lio/vertx/core/json/JsonObject;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=11, locals=12, args_size=5
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 1 // boolean send
        start local 2 // io.vertx.ext.web.handler.sockjs.SockJSSocket sock
        start local 3 // java.lang.String address
        start local 4 // io.vertx.core.json.JsonObject message
         0: .line 371
            aload 4 /* message */
            ldc "body"
            invokevirtual io.vertx.core.json.JsonObject.getValue:(Ljava/lang/String;)Ljava/lang/Object;
            astore 5 /* body */
        start local 5 // java.lang.Object body
         1: .line 372
            aload 4 /* message */
            ldc "headers"
            invokevirtual io.vertx.core.json.JsonObject.getJsonObject:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            astore 6 /* headers */
        start local 6 // io.vertx.core.json.JsonObject headers
         2: .line 373
            aload 4 /* message */
            ldc "replyAddress"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* replyAddress */
        start local 7 // java.lang.String replyAddress
         3: .line 375
            aload 7 /* replyAddress */
            ifnull 7
            aload 7 /* replyAddress */
            invokevirtual java.lang.String.length:()I
            bipush 36
            if_icmple 7
         4: .line 377
            getstatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.log:Lio/vertx/core/logging/Logger;
            ldc "Will not send message, reply address is > 36 chars"
            invokevirtual io.vertx.core.logging.Logger.error:(Ljava/lang/Object;)V
         5: .line 378
            aload 2 /* sock */
            ldc "invalid_reply_address"
            invokestatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.replyError:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;)V
         6: .line 379
            return
         7: .line 381
      StackMap locals: java.lang.Object io.vertx.core.json.JsonObject java.lang.String
      StackMap stack:
            getstatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.log:Lio/vertx/core/logging/Logger;
            invokevirtual io.vertx.core.logging.Logger.isDebugEnabled:()Z
            istore 8 /* debug */
        start local 8 // boolean debug
         8: .line 382
            iload 8 /* debug */
            ifeq 10
         9: .line 383
            getstatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.log:Lio/vertx/core/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Received msg from client in bridge. address:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* address */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " message:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* body */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.vertx.core.logging.Logger.debug:(Ljava/lang/Object;)V
        10: .line 385
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.messagesAwaitingReply:Ljava/util/Map;
            aload 3 /* address */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.core.eventbus.Message
            astore 9 /* awaitingReply */
        start local 9 // io.vertx.core.eventbus.Message awaitingReply
        11: .line 387
            aload 9 /* awaitingReply */
            ifnull 14
        12: .line 388
            new io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match
            dup
            iconst_1
            invokespecial io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match.<init>:(Z)V
            astore 10 /* curMatch */
        start local 10 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match curMatch
        13: .line 389
            goto 15
        end local 10 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match curMatch
        14: .line 390
      StackMap locals: io.vertx.core.eventbus.Message
      StackMap stack:
            aload 0 /* this */
            iconst_1
            aload 3 /* address */
            aload 5 /* body */
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.checkMatches:(ZLjava/lang/String;Ljava/lang/Object;)Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$Match;
            astore 10 /* curMatch */
        start local 10 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match curMatch
        15: .line 392
      StackMap locals: io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match
      StackMap stack:
            aload 10 /* curMatch */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match.doesMatch:Z
            ifeq 29
        16: .line 393
            aload 10 /* curMatch */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match.requiredAuthority:Ljava/lang/String;
            ifnull 27
        17: .line 394
            aload 2 /* sock */
            invokeinterface io.vertx.ext.web.handler.sockjs.SockJSSocket.webUser:()Lio/vertx/ext/auth/User;
            astore 11 /* webUser */
        start local 11 // io.vertx.ext.auth.User webUser
        18: .line 395
            aload 11 /* webUser */
            ifnull 21
        19: .line 396
            aload 0 /* this */
            aload 10 /* curMatch */
            aload 11 /* webUser */
            aload 0 /* this */
            iload 1 /* send */
            aload 3 /* address */
            aload 5 /* body */
            aload 6 /* headers */
            aload 2 /* sock */
            aload 7 /* replyAddress */
            iload 8 /* debug */
            invokedynamic handle(Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;ZLjava/lang/String;Ljava/lang/Object;Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;Z)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/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$29(ZLjava/lang/String;Ljava/lang/Object;Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;ZLio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.authorise:(Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$Match;Lio/vertx/ext/auth/User;Lio/vertx/core/Handler;)V
        20: .line 411
            goto 32
        21: .line 413
      StackMap locals: io.vertx.ext.auth.User
      StackMap stack:
            aload 2 /* sock */
            ldc "not_logged_in"
            invokestatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.replyError:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;)V
        22: .line 414
            iload 8 /* debug */
            ifeq 32
        23: .line 415
            getstatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.log:Lio/vertx/core/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Inbound message for address "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* address */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        24: .line 416
            ldc " rejected because it requires auth and user is not authenticated"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        25: .line 415
            invokevirtual io.vertx.core.logging.Logger.debug:(Ljava/lang/Object;)V
        end local 11 // io.vertx.ext.auth.User webUser
        26: .line 419
            goto 32
        27: .line 420
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* send */
            aload 3 /* address */
            aload 5 /* body */
            aload 6 /* headers */
            aload 2 /* sock */
            aload 7 /* replyAddress */
            aload 9 /* awaitingReply */
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.checkAndSend:(ZLjava/lang/String;Ljava/lang/Object;Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;Lio/vertx/core/eventbus/Message;)V
        28: .line 422
            goto 32
        29: .line 424
      StackMap locals:
      StackMap stack:
            aload 2 /* sock */
            ldc "access_denied"
            invokestatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.replyError:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;)V
        30: .line 425
            iload 8 /* debug */
            ifeq 32
        31: .line 426
            getstatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.log:Lio/vertx/core/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Inbound message for address "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* address */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " rejected because there is no match"
            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.debug:(Ljava/lang/Object;)V
        32: .line 429
      StackMap locals:
      StackMap stack:
            return
        end local 10 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match curMatch
        end local 9 // io.vertx.core.eventbus.Message awaitingReply
        end local 8 // boolean debug
        end local 7 // java.lang.String replyAddress
        end local 6 // io.vertx.core.json.JsonObject headers
        end local 5 // java.lang.Object body
        end local 4 // io.vertx.core.json.JsonObject message
        end local 3 // java.lang.String address
        end local 2 // io.vertx.ext.web.handler.sockjs.SockJSSocket sock
        end local 1 // boolean send
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   33     0           this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0   33     1           send  Z
            0   33     2           sock  Lio/vertx/ext/web/handler/sockjs/SockJSSocket;
            0   33     3        address  Ljava/lang/String;
            0   33     4        message  Lio/vertx/core/json/JsonObject;
            1   33     5           body  Ljava/lang/Object;
            2   33     6        headers  Lio/vertx/core/json/JsonObject;
            3   33     7   replyAddress  Ljava/lang/String;
            8   33     8          debug  Z
           11   33     9  awaitingReply  Lio/vertx/core/eventbus/Message;
           13   14    10       curMatch  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$Match;
           15   33    10       curMatch  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$Match;
           18   26    11        webUser  Lio/vertx/ext/auth/User;
    MethodParameters:
         Name  Flags
      send     
      sock     
      address  
      message  

  private void checkAndSend(boolean, java.lang.String, java.lang.Object, io.vertx.core.json.JsonObject, io.vertx.ext.web.handler.sockjs.SockJSSocket, java.lang.String, io.vertx.core.eventbus.Message);
    descriptor: (ZLjava/lang/String;Ljava/lang/Object;Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;Lio/vertx/core/eventbus/Message;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=8
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 1 // boolean send
        start local 2 // java.lang.String address
        start local 3 // java.lang.Object body
        start local 4 // io.vertx.core.json.JsonObject headers
        start local 5 // io.vertx.ext.web.handler.sockjs.SockJSSocket sock
        start local 6 // java.lang.String replyAddress
        start local 7 // io.vertx.core.eventbus.Message awaitingReply
         0: .line 436
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.sockInfos:Ljava/util/Map;
            aload 5 /* sock */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo
            astore 8 /* info */
        start local 8 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo info
         1: .line 437
            aload 6 /* replyAddress */
            ifnull 3
            aload 0 /* this */
            aload 5 /* sock */
            aload 8 /* info */
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.checkMaxHandlers:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$SockInfo;)Z
            ifne 3
         2: .line 438
            return
         3: .line 441
      StackMap locals: io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo
      StackMap stack:
            aload 6 /* replyAddress */
            ifnull 6
         4: .line 442
            aload 0 /* this */
            aload 5 /* sock */
            aload 6 /* replyAddress */
            aload 8 /* info */
            invokedynamic handle(Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$SockInfo;)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/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$30(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$SockInfo;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            astore 9 /* replyHandler */
        start local 9 // io.vertx.core.Handler replyHandler
         5: .line 466
            goto 7
        end local 9 // io.vertx.core.Handler replyHandler
         6: .line 467
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9 /* replyHandler */
        start local 9 // io.vertx.core.Handler replyHandler
         7: .line 469
      StackMap locals: io.vertx.core.Handler
      StackMap stack:
            getstatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.log:Lio/vertx/core/logging/Logger;
            invokevirtual io.vertx.core.logging.Logger.isDebugEnabled:()Z
            ifeq 9
         8: .line 470
            getstatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.log:Lio/vertx/core/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Forwarding message to address "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* address */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " on event bus"
            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.debug:(Ljava/lang/Object;)V
         9: .line 473
      StackMap locals:
      StackMap stack:
            aload 4 /* headers */
            ifnull 13
        10: .line 474
            new io.vertx.core.http.CaseInsensitiveHeaders
            dup
            invokespecial io.vertx.core.http.CaseInsensitiveHeaders.<init>:()V
            astore 10 /* mHeaders */
        start local 10 // io.vertx.core.MultiMap mHeaders
        11: .line 475
            aload 4 /* headers */
            aload 10 /* mHeaders */
            invokedynamic accept(Lio/vertx/core/MultiMap;)Ljava/util/function/Consumer;
              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/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$31(Lio/vertx/core/MultiMap;Ljava/util/Map$Entry;)V (6)
                  (Ljava/util/Map$Entry;)V
            invokevirtual io.vertx.core.json.JsonObject.forEach:(Ljava/util/function/Consumer;)V
        12: .line 476
            goto 14
        end local 10 // io.vertx.core.MultiMap mHeaders
        13: .line 477
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 10 /* mHeaders */
        start local 10 // io.vertx.core.MultiMap mHeaders
        14: .line 479
      StackMap locals: io.vertx.core.MultiMap
      StackMap stack:
            iload 1 /* send */
            ifeq 22
        15: .line 480
            aload 7 /* awaitingReply */
            ifnull 18
        16: .line 481
            aload 7 /* awaitingReply */
            aload 3 /* body */
            new io.vertx.core.eventbus.DeliveryOptions
            dup
            invokespecial io.vertx.core.eventbus.DeliveryOptions.<init>:()V
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.replyTimeout:J
            invokevirtual io.vertx.core.eventbus.DeliveryOptions.setSendTimeout:(J)Lio/vertx/core/eventbus/DeliveryOptions;
            aload 10 /* mHeaders */
            invokevirtual io.vertx.core.eventbus.DeliveryOptions.setHeaders:(Lio/vertx/core/MultiMap;)Lio/vertx/core/eventbus/DeliveryOptions;
            aload 9 /* replyHandler */
            invokeinterface io.vertx.core.eventbus.Message.reply:(Ljava/lang/Object;Lio/vertx/core/eventbus/DeliveryOptions;Lio/vertx/core/Handler;)V
        17: .line 482
            goto 19
        18: .line 483
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.eb:Lio/vertx/core/eventbus/EventBus;
            aload 2 /* address */
            aload 3 /* body */
            new io.vertx.core.eventbus.DeliveryOptions
            dup
            invokespecial io.vertx.core.eventbus.DeliveryOptions.<init>:()V
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.replyTimeout:J
            invokevirtual io.vertx.core.eventbus.DeliveryOptions.setSendTimeout:(J)Lio/vertx/core/eventbus/DeliveryOptions;
            aload 10 /* mHeaders */
            invokevirtual io.vertx.core.eventbus.DeliveryOptions.setHeaders:(Lio/vertx/core/MultiMap;)Lio/vertx/core/eventbus/DeliveryOptions;
            aload 9 /* replyHandler */
            invokeinterface io.vertx.core.eventbus.EventBus.send:(Ljava/lang/String;Ljava/lang/Object;Lio/vertx/core/eventbus/DeliveryOptions;Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/EventBus;
            pop
        19: .line 485
      StackMap locals:
      StackMap stack:
            aload 6 /* replyAddress */
            ifnull 23
        20: .line 486
            aload 8 /* info */
            dup
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo.handlerCount:I
            iconst_1
            iadd
            putfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo.handlerCount:I
        21: .line 488
            goto 23
        22: .line 489
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.eb:Lio/vertx/core/eventbus/EventBus;
            aload 2 /* address */
            aload 3 /* body */
            new io.vertx.core.eventbus.DeliveryOptions
            dup
            invokespecial io.vertx.core.eventbus.DeliveryOptions.<init>:()V
            aload 10 /* mHeaders */
            invokevirtual io.vertx.core.eventbus.DeliveryOptions.setHeaders:(Lio/vertx/core/MultiMap;)Lio/vertx/core/eventbus/DeliveryOptions;
            invokeinterface io.vertx.core.eventbus.EventBus.publish:(Ljava/lang/String;Ljava/lang/Object;Lio/vertx/core/eventbus/DeliveryOptions;)Lio/vertx/core/eventbus/EventBus;
            pop
        23: .line 491
      StackMap locals:
      StackMap stack:
            return
        end local 10 // io.vertx.core.MultiMap mHeaders
        end local 9 // io.vertx.core.Handler replyHandler
        end local 8 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo info
        end local 7 // io.vertx.core.eventbus.Message awaitingReply
        end local 6 // java.lang.String replyAddress
        end local 5 // io.vertx.ext.web.handler.sockjs.SockJSSocket sock
        end local 4 // io.vertx.core.json.JsonObject headers
        end local 3 // java.lang.Object body
        end local 2 // java.lang.String address
        end local 1 // boolean send
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   24     0           this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0   24     1           send  Z
            0   24     2        address  Ljava/lang/String;
            0   24     3           body  Ljava/lang/Object;
            0   24     4        headers  Lio/vertx/core/json/JsonObject;
            0   24     5           sock  Lio/vertx/ext/web/handler/sockjs/SockJSSocket;
            0   24     6   replyAddress  Ljava/lang/String;
            0   24     7  awaitingReply  Lio/vertx/core/eventbus/Message;
            1   24     8           info  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$SockInfo;
            5    6     9   replyHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/eventbus/Message<Ljava/lang/Object;>;>;>;
            7   24     9   replyHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/eventbus/Message<Ljava/lang/Object;>;>;>;
           11   13    10       mHeaders  Lio/vertx/core/MultiMap;
           14   24    10       mHeaders  Lio/vertx/core/MultiMap;
    MethodParameters:
               Name  Flags
      send           
      address        
      body           
      headers        
      sock           
      replyAddress   
      awaitingReply  

  private void authorise(io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match, io.vertx.ext.auth.User, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Boolean>>);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$Match;Lio/vertx/ext/auth/User;Lio/vertx/core/Handler;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 1 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match curMatch
        start local 2 // io.vertx.ext.auth.User webUser
        start local 3 // io.vertx.core.Handler handler
         0: .line 496
            aload 1 /* curMatch */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match.requiredAuthority:Ljava/lang/String;
            ifnull 2
         1: .line 497
            aload 2 /* webUser */
            aload 1 /* curMatch */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match.requiredAuthority:Ljava/lang/String;
            aload 3 /* handler */
            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/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$32(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.ext.auth.User.isAuthorized:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/User;
            pop
         2: .line 505
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.vertx.core.Handler handler
        end local 2 // io.vertx.ext.auth.User webUser
        end local 1 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match curMatch
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0    3     1  curMatch  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$Match;
            0    3     2   webUser  Lio/vertx/ext/auth/User;
            0    3     3   handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Boolean;>;>;
    Signature: (Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$Match;Lio/vertx/ext/auth/User;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Boolean;>;>;)V
    MethodParameters:
          Name  Flags
      curMatch  
      webUser   
      handler   

  private io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match checkMatches(boolean, java.lang.String, java.lang.Object);
    descriptor: (ZLjava/lang/String;Ljava/lang/Object;)Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$Match;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=12, args_size=4
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 1 // boolean inbound
        start local 2 // java.lang.String address
        start local 3 // java.lang.Object body
         0: .line 514
            iload 1 /* inbound */
            ifeq 1
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.inboundPermitted:Ljava/util/List;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.outboundPermitted:Ljava/util/List;
      StackMap locals:
      StackMap stack: java.util.List
         2: astore 4 /* matches */
        start local 4 // java.util.List matches
         3: .line 516
            aload 4 /* matches */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 21
      StackMap locals: io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl int java.lang.String java.lang.Object java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.ext.bridge.PermittedOptions
            astore 5 /* matchHolder */
        start local 5 // io.vertx.ext.bridge.PermittedOptions matchHolder
         5: .line 517
            aload 5 /* matchHolder */
            invokevirtual io.vertx.ext.bridge.PermittedOptions.getAddress:()Ljava/lang/String;
            astore 7 /* matchAddress */
        start local 7 // java.lang.String matchAddress
         6: .line 519
            aload 7 /* matchAddress */
            ifnonnull 9
         7: .line 520
            aload 5 /* matchHolder */
            invokevirtual io.vertx.ext.bridge.PermittedOptions.getAddressRegex:()Ljava/lang/String;
            astore 8 /* matchRegex */
        start local 8 // java.lang.String matchRegex
         8: .line 521
            goto 10
        end local 8 // java.lang.String matchRegex
         9: .line 522
      StackMap locals: io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl int java.lang.String java.lang.Object java.util.List io.vertx.ext.bridge.PermittedOptions java.util.Iterator java.lang.String
      StackMap stack:
            aconst_null
            astore 8 /* matchRegex */
        start local 8 // java.lang.String matchRegex
        10: .line 526
      StackMap locals: java.lang.String
      StackMap stack:
            aload 7 /* matchAddress */
            ifnonnull 15
        11: .line 527
            aload 8 /* matchRegex */
            ifnull 12
            aload 0 /* this */
            aload 8 /* matchRegex */
            aload 2 /* address */
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.regexMatches:(Ljava/lang/String;Ljava/lang/String;)Z
            ifne 12
            iconst_0
            goto 13
      StackMap locals:
      StackMap stack:
        12: iconst_1
      StackMap locals:
      StackMap stack: int
        13: istore 9 /* addressOK */
        start local 9 // boolean addressOK
        14: .line 528
            goto 16
        end local 9 // boolean addressOK
        15: .line 529
      StackMap locals:
      StackMap stack:
            aload 7 /* matchAddress */
            aload 2 /* address */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            istore 9 /* addressOK */
        start local 9 // boolean addressOK
        16: .line 532
      StackMap locals: int
      StackMap stack:
            iload 9 /* addressOK */
            ifeq 21
        17: .line 533
            aload 5 /* matchHolder */
            invokevirtual io.vertx.ext.bridge.PermittedOptions.getMatch:()Lio/vertx/core/json/JsonObject;
            aload 3 /* body */
            invokestatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.structureMatches:(Lio/vertx/core/json/JsonObject;Ljava/lang/Object;)Z
            istore 10 /* matched */
        start local 10 // boolean matched
        18: .line 534
            iload 10 /* matched */
            ifeq 21
        19: .line 535
            aload 5 /* matchHolder */
            invokevirtual io.vertx.ext.bridge.PermittedOptions.getRequiredAuthority:()Ljava/lang/String;
            astore 11 /* requiredAuthority */
        start local 11 // java.lang.String requiredAuthority
        20: .line 536
            new io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match
            dup
            iconst_1
            aload 11 /* requiredAuthority */
            invokespecial io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match.<init>:(ZLjava/lang/String;)V
            areturn
        end local 11 // java.lang.String requiredAuthority
        end local 10 // boolean matched
        end local 9 // boolean addressOK
        end local 8 // java.lang.String matchRegex
        end local 7 // java.lang.String matchAddress
        end local 5 // io.vertx.ext.bridge.PermittedOptions matchHolder
        21: .line 516
      StackMap locals: io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl int java.lang.String java.lang.Object java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        22: .line 540
            new io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match
            dup
            iconst_0
            invokespecial io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match.<init>:(Z)V
            areturn
        end local 4 // java.util.List matches
        end local 3 // java.lang.Object body
        end local 2 // java.lang.String address
        end local 1 // boolean inbound
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   23     0               this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0   23     1            inbound  Z
            0   23     2            address  Ljava/lang/String;
            0   23     3               body  Ljava/lang/Object;
            3   23     4            matches  Ljava/util/List<Lio/vertx/ext/bridge/PermittedOptions;>;
            5   21     5        matchHolder  Lio/vertx/ext/bridge/PermittedOptions;
            6   21     7       matchAddress  Ljava/lang/String;
            8    9     8         matchRegex  Ljava/lang/String;
           10   21     8         matchRegex  Ljava/lang/String;
           14   15     9          addressOK  Z
           16   21     9          addressOK  Z
           18   21    10            matched  Z
           20   21    11  requiredAuthority  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      inbound  
      address  
      body     

  private boolean regexMatches(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 1 // java.lang.String matchRegex
        start local 2 // java.lang.String address
         0: .line 544
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.compiledREs:Ljava/util/Map;
            aload 1 /* matchRegex */
            invokedynamic apply()Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  java/util/regex/Pattern.compile(Ljava/lang/String;)Ljava/util/regex/Pattern; (6)
                  (Ljava/lang/String;)Ljava/util/regex/Pattern;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.regex.Pattern
            astore 3 /* pattern */
        start local 3 // java.util.regex.Pattern pattern
         1: .line 545
            aload 3 /* pattern */
            aload 2 /* address */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 4 /* m */
        start local 4 // java.util.regex.Matcher m
         2: .line 546
            aload 4 /* m */
            invokevirtual java.util.regex.Matcher.matches:()Z
            ireturn
        end local 4 // java.util.regex.Matcher m
        end local 3 // java.util.regex.Pattern pattern
        end local 2 // java.lang.String address
        end local 1 // java.lang.String matchRegex
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0    3     1  matchRegex  Ljava/lang/String;
            0    3     2     address  Ljava/lang/String;
            1    3     3     pattern  Ljava/util/regex/Pattern;
            2    3     4           m  Ljava/util/regex/Matcher;
    MethodParameters:
            Name  Flags
      matchRegex  
      address     

  private static void replyError(io.vertx.ext.web.handler.sockjs.SockJSSocket, java.lang.String);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.ext.web.handler.sockjs.SockJSSocket sock
        start local 1 // java.lang.String err
         0: .line 550
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            ldc "type"
            ldc "err"
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            ldc "body"
            aload 1 /* err */
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            astore 2 /* envelope */
        start local 2 // io.vertx.core.json.JsonObject envelope
         1: .line 551
            aload 0 /* sock */
            aload 2 /* envelope */
            invokevirtual io.vertx.core.json.JsonObject.encode:()Ljava/lang/String;
            invokestatic io.vertx.core.buffer.Buffer.buffer:(Ljava/lang/String;)Lio/vertx/core/buffer/Buffer;
            invokeinterface io.vertx.ext.web.handler.sockjs.SockJSSocket.write:(Lio/vertx/core/buffer/Buffer;)Lio/vertx/ext/web/handler/sockjs/SockJSSocket;
            pop
         2: .line 552
            return
        end local 2 // io.vertx.core.json.JsonObject envelope
        end local 1 // java.lang.String err
        end local 0 // io.vertx.ext.web.handler.sockjs.SockJSSocket sock
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      sock  Lio/vertx/ext/web/handler/sockjs/SockJSSocket;
            0    3     1       err  Ljava/lang/String;
            1    3     2  envelope  Lio/vertx/core/json/JsonObject;
    MethodParameters:
      Name  Flags
      sock  
      err   

  private static boolean structureMatches(io.vertx.core.json.JsonObject, java.lang.Object);
    descriptor: (Lio/vertx/core/json/JsonObject;Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // io.vertx.core.json.JsonObject match
        start local 1 // java.lang.Object bodyObject
         0: .line 555
            aload 0 /* match */
            ifnull 1
            aload 1 /* bodyObject */
            ifnonnull 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
         2: .line 558
      StackMap locals:
      StackMap stack:
            aload 1 /* bodyObject */
            instanceof io.vertx.core.json.JsonObject
            ifeq 15
         3: .line 559
            aload 1 /* bodyObject */
            checkcast io.vertx.core.json.JsonObject
            astore 2 /* body */
        start local 2 // io.vertx.core.json.JsonObject body
         4: .line 560
            aload 0 /* match */
            invokevirtual io.vertx.core.json.JsonObject.fieldNames:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 13
      StackMap locals: io.vertx.core.json.JsonObject java.lang.Object io.vertx.core.json.JsonObject top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* fieldName */
        start local 3 // java.lang.String fieldName
         6: .line 561
            aload 0 /* match */
            aload 3 /* fieldName */
            invokevirtual io.vertx.core.json.JsonObject.getValue:(Ljava/lang/String;)Ljava/lang/Object;
            astore 5 /* mv */
        start local 5 // java.lang.Object mv
         7: .line 562
            aload 2 /* body */
            aload 3 /* fieldName */
            invokevirtual io.vertx.core.json.JsonObject.getValue:(Ljava/lang/String;)Ljava/lang/Object;
            astore 6 /* bv */
        start local 6 // java.lang.Object bv
         8: .line 564
            aload 5 /* mv */
            instanceof io.vertx.core.json.JsonObject
            ifeq 11
         9: .line 565
            aload 5 /* mv */
            checkcast io.vertx.core.json.JsonObject
            aload 6 /* bv */
            invokestatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.structureMatches:(Lio/vertx/core/json/JsonObject;Ljava/lang/Object;)Z
            ifne 13
        10: .line 566
            iconst_0
            ireturn
        11: .line 568
      StackMap locals: io.vertx.core.json.JsonObject java.lang.Object io.vertx.core.json.JsonObject java.lang.String java.util.Iterator java.lang.Object java.lang.Object
      StackMap stack:
            aload 0 /* match */
            aload 3 /* fieldName */
            invokevirtual io.vertx.core.json.JsonObject.getValue:(Ljava/lang/String;)Ljava/lang/Object;
            aload 2 /* body */
            aload 3 /* fieldName */
            invokevirtual io.vertx.core.json.JsonObject.getValue:(Ljava/lang/String;)Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 13
        12: .line 569
            iconst_0
            ireturn
        end local 6 // java.lang.Object bv
        end local 5 // java.lang.Object mv
        end local 3 // java.lang.String fieldName
        13: .line 560
      StackMap locals: io.vertx.core.json.JsonObject java.lang.Object io.vertx.core.json.JsonObject top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        14: .line 572
            iconst_1
            ireturn
        end local 2 // io.vertx.core.json.JsonObject body
        15: .line 575
      StackMap locals: io.vertx.core.json.JsonObject java.lang.Object
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object bodyObject
        end local 0 // io.vertx.core.json.JsonObject match
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0       match  Lio/vertx/core/json/JsonObject;
            0   16     1  bodyObject  Ljava/lang/Object;
            4   15     2        body  Lio/vertx/core/json/JsonObject;
            6   13     3   fieldName  Ljava/lang/String;
            7   13     5          mv  Ljava/lang/Object;
            8   13     6          bv  Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      match       
      bodyObject  

  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.ext.web.handler.sockjs.SockJSSocket
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.handle:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void lambda$0(io.vertx.ext.web.handler.sockjs.SockJSSocket, java.lang.String, io.vertx.core.eventbus.MessageConsumer);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;Lio/vertx/core/eventbus/MessageConsumer;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 2 // java.lang.String key
        start local 3 // io.vertx.core.eventbus.MessageConsumer value
         0: .line 94
            aload 3 /* value */
            invokeinterface io.vertx.core.eventbus.MessageConsumer.unregister:()V
         1: .line 95
            aload 0 /* this */
            aload 3 /* value */
            aload 1
            invokedynamic get(Lio/vertx/core/eventbus/MessageConsumer;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Ljava/util/function/Supplier;
              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;
                  io/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$1(Lio/vertx/core/eventbus/MessageConsumer;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl; (6)
                  ()Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl;
         2: .line 96
            aconst_null
            aconst_null
         3: .line 95
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.checkCallHook:(Ljava/util/function/Supplier;Ljava/lang/Runnable;Ljava/lang/Runnable;)V
         4: .line 97
            return
        end local 3 // io.vertx.core.eventbus.MessageConsumer value
        end local 2 // java.lang.String key
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0    5     2    key  Ljava/lang/String;
            0    5     3  value  Lio/vertx/core/eventbus/MessageConsumer;

  private static io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl lambda$2(io.vertx.ext.web.handler.sockjs.SockJSSocket);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=1, args_size=1
         0: .line 107
            new io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl
            dup
            getstatic io.vertx.ext.bridge.BridgeEventType.SOCKET_CLOSED:Lio/vertx/ext/bridge/BridgeEventType;
            aconst_null
            aload 0
            invokespecial io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl.<init>:(Lio/vertx/ext/bridge/BridgeEventType;Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$3(java.lang.Runnable, java.lang.Runnable, io.vertx.core.AsyncResult);
    descriptor: (Ljava/lang/Runnable;Ljava/lang/Runnable;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 2 // io.vertx.core.AsyncResult res
         0: .line 165
            aload 2 /* res */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 10
         1: .line 166
            aload 2 /* res */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 5
         2: .line 167
            aload 0
            ifnull 11
         3: .line 168
            aload 0
            invokeinterface java.lang.Runnable.run:()V
         4: .line 170
            goto 11
         5: .line 171
      StackMap locals:
      StackMap stack:
            aload 1
            ifnull 8
         6: .line 172
            aload 1
            invokeinterface java.lang.Runnable.run:()V
         7: .line 173
            goto 11
         8: .line 174
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.log:Lio/vertx/core/logging/Logger;
            ldc "Bridge handler prevented send or pub"
            invokevirtual io.vertx.core.logging.Logger.debug:(Ljava/lang/Object;)V
         9: .line 177
            goto 11
        10: .line 178
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.log:Lio/vertx/core/logging/Logger;
            ldc "Failure in bridge event handler"
            aload 2 /* res */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual io.vertx.core.logging.Logger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        11: .line 180
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult res
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     2   res  Lio/vertx/core/AsyncResult<Ljava/lang/Boolean;>;

  private static io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl lambda$4(boolean, io.vertx.core.json.JsonObject, io.vertx.ext.web.handler.sockjs.SockJSSocket);
    descriptor: (ZLio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=3, args_size=3
         0: .line 185
            new io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl
            dup
            iload 0
            ifeq 1
            getstatic io.vertx.ext.bridge.BridgeEventType.SEND:Lio/vertx/ext/bridge/BridgeEventType;
            goto 2
      StackMap locals: int io.vertx.core.json.JsonObject io.vertx.ext.web.handler.sockjs.SockJSSocket
      StackMap stack: new 0 new 0
         1: getstatic io.vertx.ext.bridge.BridgeEventType.PUBLISH:Lio/vertx/ext/bridge/BridgeEventType;
      StackMap locals: int io.vertx.core.json.JsonObject io.vertx.ext.web.handler.sockjs.SockJSSocket
      StackMap stack: new 0 new 0 io.vertx.ext.bridge.BridgeEventType
         2: aload 1
            aload 2
            invokespecial io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl.<init>:(Lio/vertx/ext/bridge/BridgeEventType;Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void lambda$5(io.vertx.core.json.JsonObject, io.vertx.ext.web.handler.sockjs.SockJSSocket, boolean);
    descriptor: (Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Z)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
         0: .line 187
            aload 1
            ldc "address"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* address */
        start local 4 // java.lang.String address
         1: .line 188
            aload 4 /* address */
            ifnonnull 4
         2: .line 189
            aload 2
            ldc "missing_address"
            invokestatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.replyError:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;)V
         3: .line 190
            return
         4: .line 192
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            iload 3
            aload 2
            aload 4 /* address */
            aload 1
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.doSendOrPub:(ZLio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;Lio/vertx/core/json/JsonObject;)V
        end local 4 // java.lang.String address
         5: .line 193
            return
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            1    5     4  address  Ljava/lang/String;

  private static void lambda$6(io.vertx.ext.web.handler.sockjs.SockJSSocket);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 193
            aload 0
            ldc "rejected"
            invokestatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.replyError:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl lambda$7(io.vertx.core.json.JsonObject, io.vertx.ext.web.handler.sockjs.SockJSSocket);
    descriptor: (Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=2, args_size=2
         0: .line 211
            new io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl
            dup
            getstatic io.vertx.ext.bridge.BridgeEventType.REGISTER:Lio/vertx/ext/bridge/BridgeEventType;
            aload 0
            aload 1
            invokespecial io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl.<init>:(Lio/vertx/ext/bridge/BridgeEventType;Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void lambda$8(io.vertx.core.json.JsonObject, io.vertx.ext.web.handler.sockjs.SockJSSocket, java.util.Map, io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo);
    descriptor: (Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/util/Map;Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$SockInfo;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=10, args_size=5
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
         0: .line 213
            getstatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.log:Lio/vertx/core/logging/Logger;
            invokevirtual io.vertx.core.logging.Logger.isDebugEnabled:()Z
            istore 5 /* debug */
        start local 5 // boolean debug
         1: .line 214
            aload 1
            ldc "address"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* address */
        start local 6 // java.lang.String address
         2: .line 215
            aload 6 /* address */
            ifnonnull 5
         3: .line 216
            aload 2
            ldc "missing_address"
            invokestatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.replyError:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;)V
         4: .line 217
            return
         5: .line 218
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 6 /* address */
            invokevirtual java.lang.String.length:()I
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.maxAddressLength:I
            if_icmple 9
         6: .line 219
            getstatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.log:Lio/vertx/core/logging/Logger;
            ldc "Refusing to register as address length > max_address_length"
            invokevirtual io.vertx.core.logging.Logger.warn:(Ljava/lang/Object;)V
         7: .line 220
            aload 2
            ldc "max_address_length_reached"
            invokestatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.replyError:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;)V
         8: .line 221
            return
         9: .line 223
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            aload 6 /* address */
            aconst_null
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.checkMatches:(ZLjava/lang/String;Ljava/lang/Object;)Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$Match;
            astore 7 /* match */
        start local 7 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match match
        10: .line 224
            aload 7 /* match */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match.doesMatch:Z
            ifeq 16
        11: .line 225
            aload 0 /* this */
            aload 6 /* address */
            aload 2
            iload 5 /* debug */
            invokedynamic handle(Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;Ljava/lang/String;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Z)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/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$10(Ljava/lang/String;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;ZLio/vertx/core/eventbus/Message;)V (7)
                  (Lio/vertx/core/eventbus/Message;)V
            astore 8 /* handler */
        start local 8 // io.vertx.core.Handler handler
        12: .line 255
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.eb:Lio/vertx/core/eventbus/EventBus;
            aload 6 /* address */
            invokeinterface io.vertx.core.eventbus.EventBus.consumer:(Ljava/lang/String;)Lio/vertx/core/eventbus/MessageConsumer;
            aload 8 /* handler */
            invokeinterface io.vertx.core.eventbus.MessageConsumer.handler:(Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/MessageConsumer;
            astore 9 /* reg */
        start local 9 // io.vertx.core.eventbus.MessageConsumer reg
        13: .line 256
            aload 3
            aload 6 /* address */
            aload 9 /* reg */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 257
            aload 4
            dup
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo.handlerCount:I
            iconst_1
            iadd
            putfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo.handlerCount:I
        end local 9 // io.vertx.core.eventbus.MessageConsumer reg
        end local 8 // io.vertx.core.Handler handler
        15: .line 258
            goto 19
        16: .line 260
      StackMap locals: io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match
      StackMap stack:
            iload 5 /* debug */
            ifeq 18
        17: .line 261
            getstatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.log:Lio/vertx/core/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Cannot register handler for address "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* address */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " because there is no inbound match"
            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.debug:(Ljava/lang/Object;)V
        18: .line 263
      StackMap locals:
      StackMap stack:
            aload 2
            ldc "access_denied"
            invokestatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.replyError:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;)V
        end local 7 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match match
        end local 6 // java.lang.String address
        end local 5 // boolean debug
        19: .line 265
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0     this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            1   19     5    debug  Z
            2   19     6  address  Ljava/lang/String;
           10   19     7    match  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$Match;
           12   15     8  handler  Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<Ljava/lang/Object;>;>;
           13   15     9      reg  Lio/vertx/core/eventbus/MessageConsumer;

  private static void lambda$9(io.vertx.ext.web.handler.sockjs.SockJSSocket);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 265
            aload 0
            ldc "rejected"
            invokestatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.replyError:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl lambda$12(io.vertx.core.json.JsonObject, io.vertx.ext.web.handler.sockjs.SockJSSocket);
    descriptor: (Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=2, args_size=2
         0: .line 269
            new io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl
            dup
            getstatic io.vertx.ext.bridge.BridgeEventType.UNREGISTER:Lio/vertx/ext/bridge/BridgeEventType;
            aload 0
            aload 1
            invokespecial io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl.<init>:(Lio/vertx/ext/bridge/BridgeEventType;Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void lambda$13(io.vertx.core.json.JsonObject, io.vertx.ext.web.handler.sockjs.SockJSSocket, java.util.Map);
    descriptor: (Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/util/Map;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
         0: .line 271
            aload 1
            ldc "address"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* address */
        start local 4 // java.lang.String address
         1: .line 272
            aload 4 /* address */
            ifnonnull 4
         2: .line 273
            aload 2
            ldc "missing_address"
            invokestatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.replyError:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;)V
         3: .line 274
            return
         4: .line 276
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            iconst_0
            aload 4 /* address */
            aconst_null
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.checkMatches:(ZLjava/lang/String;Ljava/lang/Object;)Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$Match;
            astore 5 /* match */
        start local 5 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match match
         5: .line 277
            aload 5 /* match */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match.doesMatch:Z
            ifeq 12
         6: .line 278
            aload 3
            aload 4 /* address */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.core.eventbus.MessageConsumer
            astore 6 /* reg */
        start local 6 // io.vertx.core.eventbus.MessageConsumer reg
         7: .line 279
            aload 6 /* reg */
            ifnull 15
         8: .line 280
            aload 6 /* reg */
            invokeinterface io.vertx.core.eventbus.MessageConsumer.unregister:()V
         9: .line 281
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.sockInfos:Ljava/util/Map;
            aload 2
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo
            astore 7 /* info */
        start local 7 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo info
        10: .line 282
            aload 7 /* info */
            dup
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo.handlerCount:I
            iconst_1
            isub
            putfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo.handlerCount:I
        end local 7 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo info
        end local 6 // io.vertx.core.eventbus.MessageConsumer reg
        11: .line 284
            goto 15
        12: .line 285
      StackMap locals: io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match
      StackMap stack:
            getstatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.log:Lio/vertx/core/logging/Logger;
            invokevirtual io.vertx.core.logging.Logger.isDebugEnabled:()Z
            ifeq 14
        13: .line 286
            getstatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.log:Lio/vertx/core/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Cannot unregister handler for address "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* address */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " because there is no inbound match"
            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.debug:(Ljava/lang/Object;)V
        14: .line 288
      StackMap locals:
      StackMap stack:
            aload 2
            ldc "access_denied"
            invokestatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.replyError:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;)V
        end local 5 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match match
        end local 4 // java.lang.String address
        15: .line 290
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            1   15     4  address  Ljava/lang/String;
            5   15     5    match  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$Match;
            7   11     6      reg  Lio/vertx/core/eventbus/MessageConsumer;
           10   11     7     info  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$SockInfo;

  private static void lambda$14(io.vertx.ext.web.handler.sockjs.SockJSSocket);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 290
            aload 0
            ldc "rejected"
            invokestatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.replyError:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl lambda$15(io.vertx.ext.web.handler.sockjs.SockJSSocket);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=1, args_size=1
         0: .line 302
            new io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl
            dup
            getstatic io.vertx.ext.bridge.BridgeEventType.SOCKET_PING:Lio/vertx/ext/bridge/BridgeEventType;
            aconst_null
            aload 0
            invokespecial io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl.<init>:(Lio/vertx/ext/bridge/BridgeEventType;Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl lambda$16(io.vertx.ext.web.handler.sockjs.SockJSSocket);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=1, args_size=1
         0: .line 307
            new io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl
            dup
            getstatic io.vertx.ext.bridge.BridgeEventType.SOCKET_CREATED:Lio/vertx/ext/bridge/BridgeEventType;
            aconst_null
            aload 0
            invokespecial io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl.<init>:(Lio/vertx/ext/bridge/BridgeEventType;Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void lambda$17(io.vertx.ext.web.handler.sockjs.SockJSSocket);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
         0: .line 309
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* registrations */
        start local 2 // java.util.Map registrations
         1: .line 311
            aload 1
            aload 0 /* this */
            aload 1
            aload 2 /* registrations */
            invokedynamic handle(Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/util/Map;)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/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$19(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/util/Map;Ljava/lang/Void;)V (7)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.ext.web.handler.sockjs.SockJSSocket.endHandler:(Lio/vertx/core/Handler;)Lio/vertx/ext/web/handler/sockjs/SockJSSocket;
            pop
         2: .line 312
            aload 1
            aload 0 /* this */
            aload 1
            aload 2 /* registrations */
            invokedynamic handle(Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/util/Map;)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/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$20(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/util/Map;Lio/vertx/core/buffer/Buffer;)V (7)
                  (Lio/vertx/core/buffer/Buffer;)V
            invokeinterface io.vertx.ext.web.handler.sockjs.SockJSSocket.handler:(Lio/vertx/core/Handler;)Lio/vertx/ext/web/handler/sockjs/SockJSSocket;
            pop
         3: .line 315
            new io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$PingInfo
            dup
            invokespecial io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$PingInfo.<init>:()V
            astore 3 /* pingInfo */
        start local 3 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$PingInfo pingInfo
         4: .line 316
            aload 3 /* pingInfo */
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.vertx:Lio/vertx/core/Vertx;
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.pingTimeout:J
            aload 0 /* this */
            aload 3 /* pingInfo */
            aload 1
            invokedynamic handle(Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$PingInfo;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)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/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$21(Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$PingInfo;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/Long;)V (7)
                  (Ljava/lang/Long;)V
            invokeinterface io.vertx.core.Vertx.setPeriodic:(JLio/vertx/core/Handler;)J
            putfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$PingInfo.timerID:J
         5: .line 325
            new io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo
            dup
            invokespecial io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo.<init>:()V
            astore 4 /* sockInfo */
        start local 4 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo sockInfo
         6: .line 326
            aload 4 /* sockInfo */
            aload 3 /* pingInfo */
            putfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo.pingInfo:Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$PingInfo;
         7: .line 327
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.sockInfos:Ljava/util/Map;
            aload 1
            aload 4 /* sockInfo */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo sockInfo
        end local 3 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$PingInfo pingInfo
        end local 2 // java.util.Map registrations
         8: .line 328
            return
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            1    8     2  registrations  Ljava/util/Map<Ljava/lang/String;Lio/vertx/core/eventbus/MessageConsumer;>;
            4    8     3       pingInfo  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$PingInfo;
            6    8     4       sockInfo  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$SockInfo;

  private void lambda$25(java.lang.String, java.lang.Long);
    descriptor: (Ljava/lang/String;Ljava/lang/Long;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 2 // java.lang.Long tid
         0: .line 343
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.messagesAwaitingReply:Ljava/util/Map;
            aload 1
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            return
        end local 2 // java.lang.Long tid
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0    1     2   tid  Ljava/lang/Long;

  private static io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl lambda$26(io.vertx.core.json.JsonObject, io.vertx.ext.web.handler.sockjs.SockJSSocket);
    descriptor: (Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=2, args_size=2
         0: .line 364
            new io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl
            dup
            getstatic io.vertx.ext.bridge.BridgeEventType.RECEIVE:Lio/vertx/ext/bridge/BridgeEventType;
            aload 0
            aload 1
            invokespecial io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl.<init>:(Lio/vertx/ext/bridge/BridgeEventType;Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$27(io.vertx.ext.web.handler.sockjs.SockJSSocket, io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Lio/vertx/core/json/JsonObject;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 365
            aload 0
            aload 1
            invokevirtual io.vertx.core.json.JsonObject.encode:()Ljava/lang/String;
            invokestatic io.vertx.core.buffer.Buffer.buffer:(Ljava/lang/String;)Lio/vertx/core/buffer/Buffer;
            invokeinterface io.vertx.ext.web.handler.sockjs.SockJSSocket.write:(Lio/vertx/core/buffer/Buffer;)Lio/vertx/ext/web/handler/sockjs/SockJSSocket;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$28();
    descriptor: ()V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 366
            getstatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.log:Lio/vertx/core/logging/Logger;
            ldc "outbound message rejected by bridge event handler"
            invokevirtual io.vertx.core.logging.Logger.debug:(Ljava/lang/Object;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void lambda$29(boolean, java.lang.String, java.lang.Object, io.vertx.core.json.JsonObject, io.vertx.ext.web.handler.sockjs.SockJSSocket, java.lang.String, boolean, io.vertx.core.AsyncResult);
    descriptor: (ZLjava/lang/String;Ljava/lang/Object;Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;ZLio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=8, locals=9, args_size=9
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 8 // io.vertx.core.AsyncResult res
         0: .line 397
            aload 8 /* res */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 8
         1: .line 398
            aload 8 /* res */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 4
         2: .line 399
            aload 0 /* this */
            iload 1
            aload 2
            aload 3
            aload 4
            aload 5
            aload 6
            aconst_null
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.checkAndSend:(ZLjava/lang/String;Ljava/lang/Object;Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;Lio/vertx/core/eventbus/Message;)V
         3: .line 400
            goto 10
         4: .line 401
      StackMap locals:
      StackMap stack:
            aload 5
            ldc "access_denied"
            invokestatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.replyError:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;)V
         5: .line 402
            iload 7
            ifeq 10
         6: .line 403
            getstatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.log:Lio/vertx/core/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Inbound message for address "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " rejected because is not authorised"
            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.debug:(Ljava/lang/Object;)V
         7: .line 406
            goto 10
         8: .line 407
      StackMap locals:
      StackMap stack:
            aload 5
            ldc "auth_error"
            invokestatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.replyError:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;)V
         9: .line 408
            getstatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.log:Lio/vertx/core/logging/Logger;
            ldc "Error in performing authorisation"
            aload 8 /* res */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual io.vertx.core.logging.Logger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        10: .line 410
      StackMap locals:
      StackMap stack:
            return
        end local 8 // io.vertx.core.AsyncResult res
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0   11     8   res  Lio/vertx/core/AsyncResult<Ljava/lang/Boolean;>;

  private void lambda$30(io.vertx.ext.web.handler.sockjs.SockJSSocket, java.lang.String, io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$SockInfo;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 4 // io.vertx.core.AsyncResult result
         0: .line 443
            aload 4 /* result */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 5
         1: .line 444
            aload 4 /* result */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.core.eventbus.Message
            astore 5 /* message */
        start local 5 // io.vertx.core.eventbus.Message message
         2: .line 451
            aload 0 /* this */
            aload 5 /* message */
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.checkAddAccceptedReplyAddress:(Lio/vertx/core/eventbus/Message;)V
         3: .line 452
            aload 0 /* this */
            aload 1
            aload 2
            aload 5 /* message */
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.deliverMessage:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;Lio/vertx/core/eventbus/Message;)V
        end local 5 // io.vertx.core.eventbus.Message message
         4: .line 453
            goto 14
         5: .line 454
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            checkcast io.vertx.core.eventbus.ReplyException
            astore 5 /* cause */
        start local 5 // io.vertx.core.eventbus.ReplyException cause
         6: .line 456
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
         7: .line 457
            ldc "type"
            ldc "err"
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
         8: .line 458
            ldc "address"
            aload 2
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
         9: .line 459
            ldc "failureCode"
            aload 5 /* cause */
            invokevirtual io.vertx.core.eventbus.ReplyException.failureCode:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Integer;)Lio/vertx/core/json/JsonObject;
        10: .line 460
            ldc "failureType"
            aload 5 /* cause */
            invokevirtual io.vertx.core.eventbus.ReplyException.failureType:()Lio/vertx/core/eventbus/ReplyFailure;
            invokevirtual io.vertx.core.eventbus.ReplyFailure.name:()Ljava/lang/String;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
        11: .line 461
            ldc "message"
            aload 5 /* cause */
            invokevirtual io.vertx.core.eventbus.ReplyException.getMessage:()Ljava/lang/String;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
        12: .line 455
            astore 6 /* envelope */
        start local 6 // io.vertx.core.json.JsonObject envelope
        13: .line 462
            aload 1
            aload 6 /* envelope */
            invokevirtual io.vertx.core.json.JsonObject.encode:()Ljava/lang/String;
            invokestatic io.vertx.core.buffer.Buffer.buffer:(Ljava/lang/String;)Lio/vertx/core/buffer/Buffer;
            invokeinterface io.vertx.ext.web.handler.sockjs.SockJSSocket.write:(Lio/vertx/core/buffer/Buffer;)Lio/vertx/ext/web/handler/sockjs/SockJSSocket;
            pop
        end local 6 // io.vertx.core.json.JsonObject envelope
        end local 5 // io.vertx.core.eventbus.ReplyException cause
        14: .line 464
      StackMap locals:
      StackMap stack:
            aload 3
            dup
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo.handlerCount:I
            iconst_1
            isub
            putfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo.handlerCount:I
        15: .line 465
            return
        end local 4 // io.vertx.core.AsyncResult result
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0   16     4    result  Lio/vertx/core/AsyncResult<Lio/vertx/core/eventbus/Message<Ljava/lang/Object;>;>;
            2    4     5   message  Lio/vertx/core/eventbus/Message;
            6   14     5     cause  Lio/vertx/core/eventbus/ReplyException;
           13   14     6  envelope  Lio/vertx/core/json/JsonObject;

  private static void lambda$31(io.vertx.core.MultiMap, java.util.Map$Entry);
    descriptor: (Lio/vertx/core/MultiMap;Ljava/util/Map$Entry;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 1 // java.util.Map$Entry entry
         0: .line 475
            aload 0
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokeinterface io.vertx.core.MultiMap.add:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/MultiMap;
            return
        end local 1 // java.util.Map$Entry entry
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     1  entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;

  private static void lambda$32(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // io.vertx.core.AsyncResult res
         0: .line 498
            aload 1 /* res */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 499
            aload 0
            aload 1 /* res */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 500
            goto 4
         3: .line 501
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.log:Lio/vertx/core/logging/Logger;
            aload 1 /* res */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual io.vertx.core.logging.Logger.error:(Ljava/lang/Object;)V
         4: .line 503
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.AsyncResult res
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     1   res  Lio/vertx/core/AsyncResult<Ljava/lang/Boolean;>;

  private static io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl lambda$1(io.vertx.core.eventbus.MessageConsumer, io.vertx.ext.web.handler.sockjs.SockJSSocket);
    descriptor: (Lio/vertx/core/eventbus/MessageConsumer;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=6, locals=2, args_size=2
         0: .line 95
            new io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl
            dup
            getstatic io.vertx.ext.bridge.BridgeEventType.UNREGISTER:Lio/vertx/ext/bridge/BridgeEventType;
         1: .line 96
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            ldc "type"
            ldc "unregister"
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            ldc "address"
            aload 0
            invokeinterface io.vertx.core.eventbus.MessageConsumer.address:()Ljava/lang/String;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            aload 1
         2: .line 95
            invokespecial io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl.<init>:(Lio/vertx/ext/bridge/BridgeEventType;Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)V
         3: .line 96
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void lambda$10(java.lang.String, io.vertx.ext.web.handler.sockjs.SockJSSocket, boolean, io.vertx.core.eventbus.Message);
    descriptor: (Ljava/lang/String;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;ZLio/vertx/core/eventbus/Message;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=8, locals=6, args_size=5
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 4 // io.vertx.core.eventbus.Message msg
         0: .line 226
            aload 0 /* this */
            iconst_0
            aload 1
            aload 4 /* msg */
            invokeinterface io.vertx.core.eventbus.Message.body:()Ljava/lang/Object;
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.checkMatches:(ZLjava/lang/String;Ljava/lang/Object;)Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$Match;
            astore 5 /* curMatch */
        start local 5 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match curMatch
         1: .line 227
            aload 5 /* curMatch */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match.doesMatch:Z
            ifeq 8
         2: .line 228
            aload 5 /* curMatch */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match.requiredAuthority:Ljava/lang/String;
            ifnull 5
         3: .line 229
            aload 0 /* this */
            aload 5 /* curMatch */
            aload 2
            invokeinterface io.vertx.ext.web.handler.sockjs.SockJSSocket.webUser:()Lio/vertx/ext/auth/User;
            aload 0 /* this */
            aload 4 /* msg */
            aload 2
            aload 1
            iload 3
            invokedynamic handle(Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;Lio/vertx/core/eventbus/Message;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;Z)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/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$11(Lio/vertx/core/eventbus/Message;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;ZLio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.authorise:(Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$Match;Lio/vertx/ext/auth/User;Lio/vertx/core/Handler;)V
         4: .line 244
            goto 10
         5: .line 245
      StackMap locals: io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match
      StackMap stack:
            aload 0 /* this */
            aload 4 /* msg */
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.checkAddAccceptedReplyAddress:(Lio/vertx/core/eventbus/Message;)V
         6: .line 246
            aload 0 /* this */
            aload 2
            aload 1
            aload 4 /* msg */
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.deliverMessage:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;Lio/vertx/core/eventbus/Message;)V
         7: .line 248
            goto 10
         8: .line 250
      StackMap locals:
      StackMap stack:
            iload 3
            ifeq 10
         9: .line 251
            getstatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.log:Lio/vertx/core/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Outbound message for address "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " rejected because there is no inbound match"
            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.debug:(Ljava/lang/Object;)V
        end local 5 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match curMatch
        10: .line 254
      StackMap locals:
      StackMap stack:
            return
        end local 4 // io.vertx.core.eventbus.Message msg
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0   11     4       msg  Lio/vertx/core/eventbus/Message<Ljava/lang/Object;>;
            1   10     5  curMatch  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$Match;

  private void lambda$19(io.vertx.ext.web.handler.sockjs.SockJSSocket, java.util.Map, java.lang.Void);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/util/Map;Ljava/lang/Void;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 3 // java.lang.Void v
         0: .line 311
            aload 0 /* this */
            aload 1
            aload 2
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.handleSocketClosed:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/util/Map;)V
            return
        end local 3 // java.lang.Void v
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0    1     3     v  Ljava/lang/Void;

  private void lambda$20(io.vertx.ext.web.handler.sockjs.SockJSSocket, java.util.Map, io.vertx.core.buffer.Buffer);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/util/Map;Lio/vertx/core/buffer/Buffer;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 3 // io.vertx.core.buffer.Buffer data
         0: .line 312
            aload 0 /* this */
            aload 1
            aload 3 /* data */
            aload 2
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.handleSocketData:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Lio/vertx/core/buffer/Buffer;Ljava/util/Map;)V
            return
        end local 3 // io.vertx.core.buffer.Buffer data
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0    1     3  data  Lio/vertx/core/buffer/Buffer;

  private void lambda$21(io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$PingInfo, io.vertx.ext.web.handler.sockjs.SockJSSocket, java.lang.Long);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl$PingInfo;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/Long;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 3 // java.lang.Long id
         0: .line 317
            invokestatic java.lang.System.currentTimeMillis:()J
            aload 1
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$PingInfo.lastPing:J
            lsub
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.pingTimeout:J
            lcmp
            iflt 5
         1: .line 319
            aload 0 /* this */
            aload 2
            invokedynamic get(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Ljava/util/function/Supplier;
              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;
                  io/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$22(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl; (6)
                  ()Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl;
         2: .line 321
            aload 2
            checkcast io.vertx.ext.web.handler.sockjs.impl.SockJSSocketBase
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic run(Lio/vertx/ext/web/handler/sockjs/impl/SockJSSocketBase;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  io/vertx/ext/web/handler/sockjs/impl/SockJSSocketBase.closeAfterSessionExpired()V (5)
                  ()V
         3: .line 322
            aload 2
            invokedynamic run(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  io/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl.lambda$24(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)V (6)
                  ()V
         4: .line 319
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.checkCallHook:(Ljava/util/function/Supplier;Ljava/lang/Runnable;Ljava/lang/Runnable;)V
         5: .line 324
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Long id
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0    6     3    id  Ljava/lang/Long;

  private void lambda$11(io.vertx.core.eventbus.Message, io.vertx.ext.web.handler.sockjs.SockJSSocket, java.lang.String, boolean, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/eventbus/Message;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;ZLio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=6, args_size=6
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
        start local 5 // io.vertx.core.AsyncResult res
         0: .line 230
            aload 5 /* res */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 8
         1: .line 231
            aload 5 /* res */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 5
         2: .line 232
            aload 0 /* this */
            aload 1
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.checkAddAccceptedReplyAddress:(Lio/vertx/core/eventbus/Message;)V
         3: .line 233
            aload 0 /* this */
            aload 2
            aload 3
            aload 1
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.deliverMessage:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;Lio/vertx/core/eventbus/Message;)V
         4: .line 234
            goto 9
         5: .line 235
      StackMap locals:
      StackMap stack:
            iload 4
            ifeq 9
         6: .line 236
            getstatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.log:Lio/vertx/core/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Outbound message for address "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " rejected because auth is required and socket is not authed"
            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.debug:(Ljava/lang/Object;)V
         7: .line 239
            goto 9
         8: .line 240
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.log:Lio/vertx/core/logging/Logger;
            aload 5 /* res */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual io.vertx.core.logging.Logger.error:(Ljava/lang/Object;)V
         9: .line 242
      StackMap locals:
      StackMap stack:
            return
        end local 5 // io.vertx.core.AsyncResult res
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lio/vertx/ext/web/handler/sockjs/impl/EventBusBridgeImpl;
            0   10     5   res  Lio/vertx/core/AsyncResult<Ljava/lang/Boolean;>;

  private static io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl lambda$22(io.vertx.ext.web.handler.sockjs.SockJSSocket);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)Lio/vertx/ext/web/handler/sockjs/impl/BridgeEventImpl;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=1, args_size=1
         0: .line 319
            new io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl
            dup
            getstatic io.vertx.ext.bridge.BridgeEventType.SOCKET_IDLE:Lio/vertx/ext/bridge/BridgeEventType;
            aconst_null
            aload 0
            invokespecial io.vertx.ext.web.handler.sockjs.impl.BridgeEventImpl.<init>:(Lio/vertx/ext/bridge/BridgeEventType;Lio/vertx/core/json/JsonObject;Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$24(io.vertx.ext.web.handler.sockjs.SockJSSocket);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSSocket;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 322
            aload 0
            ldc "rejected"
            invokestatic io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl.replyError:(Lio/vertx/ext/web/handler/sockjs/SockJSSocket;Ljava/lang/String;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Lio/vertx/core/Handler<Lio/vertx/ext/web/handler/sockjs/SockJSSocket;>;
SourceFile: "EventBusBridgeImpl.java"
NestMembers:
  io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match  io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$PingInfo  io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo
InnerClasses:
  private Match = io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$Match of io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl
  private final PingInfo = io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$PingInfo of io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl
  private final SockInfo = io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl$SockInfo of io.vertx.ext.web.handler.sockjs.impl.EventBusBridgeImpl
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map