class io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler
  super_class: java.lang.Object
{
  private static final io.vertx.core.impl.logging.Logger log;
    descriptor: Lio/vertx/core/impl/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final short WS_INTERNAL_ERROR;
    descriptor: S
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1011

  private final io.vertx.ext.web.handler.graphql.impl.ApolloWSHandlerImpl apolloWSHandler;
    descriptor: Lio/vertx/ext/web/handler/graphql/impl/ApolloWSHandlerImpl;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private final java.util.concurrent.Executor executor;
    descriptor: Ljava/util/concurrent/Executor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.ConcurrentMap<java.lang.String, org.reactivestreams.Subscription> subscriptions;
    descriptor: Ljava/util/concurrent/ConcurrentMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Lorg/reactivestreams/Subscription;>;

  private final io.vertx.core.Promise<java.lang.Object> connectionPromise;
    descriptor: Lio/vertx/core/Promise;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/vertx/core/Promise<Ljava/lang/Object;>;

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

  private static volatile int[] $SWITCH_TABLE$io$vertx$ext$web$handler$graphql$ApolloWSMessageType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

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

  void <init>(io.vertx.ext.web.handler.graphql.impl.ApolloWSHandlerImpl, io.vertx.core.impl.ContextInternal, io.vertx.core.http.ServerWebSocket);
    descriptor: (Lio/vertx/ext/web/handler/graphql/impl/ApolloWSHandlerImpl;Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/http/ServerWebSocket;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
        start local 1 // io.vertx.ext.web.handler.graphql.impl.ApolloWSHandlerImpl apolloWSHandler
        start local 2 // io.vertx.core.impl.ContextInternal context
        start local 3 // io.vertx.core.http.ServerWebSocket serverWebSocket
         0: .line 68
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 69
            aload 0 /* this */
            aload 1 /* apolloWSHandler */
            putfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.apolloWSHandler:Lio/vertx/ext/web/handler/graphql/impl/ApolloWSHandlerImpl;
         2: .line 70
            aload 0 /* this */
            aload 2 /* context */
            putfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.context:Lio/vertx/core/impl/ContextInternal;
         3: .line 71
            aload 0 /* this */
            aload 3 /* serverWebSocket */
            putfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.serverWebSocket:Lio/vertx/core/http/ServerWebSocket;
         4: .line 72
            aload 0 /* this */
            aload 2 /* context */
            invokedynamic execute(Lio/vertx/core/impl/ContextInternal;)Ljava/util/concurrent/Executor;
              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/Runnable;)V
                  io/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler.lambda$0(Lio/vertx/core/impl/ContextInternal;Ljava/lang/Runnable;)V (6)
                  (Ljava/lang/Runnable;)V
            putfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.executor:Ljava/util/concurrent/Executor;
         5: .line 73
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.subscriptions:Ljava/util/concurrent/ConcurrentMap;
         6: .line 74
            aload 0 /* this */
            aload 2 /* context */
            invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
            putfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.connectionPromise:Lio/vertx/core/Promise;
         7: .line 75
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
            putfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.connectionInitialized:Ljava/util/concurrent/atomic/AtomicBoolean;
         8: .line 76
            return
        end local 3 // io.vertx.core.http.ServerWebSocket serverWebSocket
        end local 2 // io.vertx.core.impl.ContextInternal context
        end local 1 // io.vertx.ext.web.handler.graphql.impl.ApolloWSHandlerImpl apolloWSHandler
        end local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0             this  Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;
            0    9     1  apolloWSHandler  Lio/vertx/ext/web/handler/graphql/impl/ApolloWSHandlerImpl;
            0    9     2          context  Lio/vertx/core/impl/ContextInternal;
            0    9     3  serverWebSocket  Lio/vertx/core/http/ServerWebSocket;
    MethodParameters:
                 Name  Flags
      apolloWSHandler  
      context          
      serverWebSocket  

  void handleConnection();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
         0: .line 79
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.apolloWSHandler:Lio/vertx/ext/web/handler/graphql/impl/ApolloWSHandlerImpl;
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSHandlerImpl.getConnectionHandler:()Lio/vertx/core/Handler;
            astore 1 /* ch */
        start local 1 // io.vertx.core.Handler ch
         1: .line 80
            aload 1 /* ch */
            ifnull 3
         2: .line 81
            aload 1 /* ch */
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.serverWebSocket:Lio/vertx/core/http/ServerWebSocket;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         3: .line 84
      StackMap locals: io.vertx.core.Handler
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.serverWebSocket:Lio/vertx/core/http/ServerWebSocket;
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;)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/graphql/impl/ApolloWSConnectionHandler.handleBinaryMessage(Lio/vertx/core/buffer/Buffer;)V (7)
                  (Lio/vertx/core/buffer/Buffer;)V
            invokeinterface io.vertx.core.http.ServerWebSocket.binaryMessageHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/http/WebSocketBase;
            pop
         4: .line 85
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.serverWebSocket:Lio/vertx/core/http/ServerWebSocket;
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;)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/graphql/impl/ApolloWSConnectionHandler.handleTextMessage(Ljava/lang/String;)V (7)
                  (Ljava/lang/String;)V
            invokeinterface io.vertx.core.http.ServerWebSocket.textMessageHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/http/WebSocketBase;
            pop
         5: .line 86
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.serverWebSocket:Lio/vertx/core/http/ServerWebSocket;
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;)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/graphql/impl/ApolloWSConnectionHandler.close(Ljava/lang/Void;)V (7)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.core.http.ServerWebSocket.closeHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/http/ServerWebSocket;
            pop
         6: .line 87
            return
        end local 1 // io.vertx.core.Handler ch
        end local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;
            1    7     1    ch  Lio/vertx/core/Handler<Lio/vertx/core/http/ServerWebSocket;>;

  private void handleBinaryMessage(io.vertx.core.buffer.Buffer);
    descriptor: (Lio/vertx/core/buffer/Buffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
        start local 1 // io.vertx.core.buffer.Buffer buffer
         0: .line 90
            aload 0 /* this */
            new io.vertx.core.json.JsonObject
            dup
            aload 1 /* buffer */
            invokespecial io.vertx.core.json.JsonObject.<init>:(Lio/vertx/core/buffer/Buffer;)V
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.handleMessage:(Lio/vertx/core/json/JsonObject;)V
         1: .line 91
            return
        end local 1 // io.vertx.core.buffer.Buffer buffer
        end local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;
            0    2     1  buffer  Lio/vertx/core/buffer/Buffer;
    MethodParameters:
        Name  Flags
      buffer  

  private void handleTextMessage(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
        start local 1 // java.lang.String text
         0: .line 94
            aload 0 /* this */
            new io.vertx.core.json.JsonObject
            dup
            aload 1 /* text */
            invokespecial io.vertx.core.json.JsonObject.<init>:(Ljava/lang/String;)V
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.handleMessage:(Lio/vertx/core/json/JsonObject;)V
         1: .line 95
            return
        end local 1 // java.lang.String text
        end local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;
            0    2     1  text  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      text  

  private void handleMessage(io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/core/json/JsonObject;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
        start local 1 // io.vertx.core.json.JsonObject jsonObject
         0: .line 98
            aload 1 /* jsonObject */
            ldc "id"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* opId */
        start local 2 // java.lang.String opId
         1: .line 99
            aload 1 /* jsonObject */
            ldc "type"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic io.vertx.ext.web.handler.graphql.ApolloWSMessageType.from:(Ljava/lang/String;)Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            astore 3 /* type */
        start local 3 // io.vertx.ext.web.handler.graphql.ApolloWSMessageType type
         2: .line 101
            aload 3 /* type */
            ifnonnull 5
         3: .line 102
            aload 0 /* this */
            aload 2 /* opId */
            getstatic io.vertx.ext.web.handler.graphql.ApolloWSMessageType.ERROR:Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            new java.lang.StringBuilder
            dup
            ldc "Unknown message type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* jsonObject */
            ldc "type"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.sendMessage:(Ljava/lang/String;Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;Ljava/lang/Object;)Lio/vertx/core/Future;
            pop
         4: .line 103
            return
         5: .line 106
      StackMap locals: java.lang.String io.vertx.ext.web.handler.graphql.ApolloWSMessageType
      StackMap stack:
            new io.vertx.ext.web.handler.graphql.impl.ApolloWSMessageImpl
            dup
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.serverWebSocket:Lio/vertx/core/http/ServerWebSocket;
            aload 3 /* type */
            aload 1 /* jsonObject */
            invokespecial io.vertx.ext.web.handler.graphql.impl.ApolloWSMessageImpl.<init>:(Lio/vertx/core/http/ServerWebSocket;Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;Lio/vertx/core/json/JsonObject;)V
            astore 4 /* message */
        start local 4 // io.vertx.ext.web.handler.graphql.impl.ApolloWSMessageImpl message
         6: .line 108
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.apolloWSHandler:Lio/vertx/ext/web/handler/graphql/impl/ApolloWSHandlerImpl;
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSHandlerImpl.getMessageHandler:()Lio/vertx/core/Handler;
            astore 5 /* mh */
        start local 5 // io.vertx.core.Handler mh
         7: .line 109
            aload 5 /* mh */
            ifnull 9
         8: .line 110
            aload 5 /* mh */
            aload 4 /* message */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         9: .line 113
      StackMap locals: io.vertx.ext.web.handler.graphql.impl.ApolloWSMessageImpl io.vertx.core.Handler
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.apolloWSHandler:Lio/vertx/ext/web/handler/graphql/impl/ApolloWSHandlerImpl;
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSHandlerImpl.getConnectionInitHandler:()Lio/vertx/core/Handler;
            astore 6 /* connectionInitHandler */
        start local 6 // io.vertx.core.Handler connectionInitHandler
        10: .line 115
            invokestatic io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.$SWITCH_TABLE$io$vertx$ext$web$handler$graphql$ApolloWSMessageType:()[I
            aload 3 /* type */
            invokevirtual io.vertx.ext.web.handler.graphql.ApolloWSMessageType.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 11
                    2: 21
                    3: 23
                    4: 29
              default: 31
          }
        11: .line 117
      StackMap locals: io.vertx.core.Handler
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.connectionInitialized:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_0
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
            ifne 15
        12: .line 118
            aload 0 /* this */
            aload 2 /* opId */
            getstatic io.vertx.ext.web.handler.graphql.ApolloWSMessageType.ERROR:Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            ldc "CONNECTION_INIT can only be sent once"
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.sendMessage:(Ljava/lang/String;Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;Ljava/lang/Object;)Lio/vertx/core/Future;
        13: .line 119
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;)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/graphql/impl/ApolloWSConnectionHandler.lambda$5(Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
        14: .line 120
            goto 32
        15: .line 122
      StackMap locals:
      StackMap stack:
            aload 6 /* connectionInitHandler */
            ifnull 18
        16: .line 123
            aload 6 /* connectionInitHandler */
            new io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler$1
            dup
            aload 0 /* this */
            aload 4 /* message */
            invokespecial io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler$1.<init>:(Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;Lio/vertx/ext/web/handler/graphql/impl/ApolloWSMessageImpl;)V
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        17: .line 144
            goto 19
        18: .line 145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.connectionPromise:Lio/vertx/core/Promise;
            invokeinterface io.vertx.core.Promise.complete:()V
        19: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.connectionPromise:Lio/vertx/core/Promise;
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            aload 0 /* this */
            aload 2 /* opId */
            invokedynamic handle(Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;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/graphql/impl/ApolloWSConnectionHandler.lambda$6(Ljava/lang/String;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
        20: .line 155
            goto 32
        21: .line 157
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.serverWebSocket:Lio/vertx/core/http/ServerWebSocket;
            invokeinterface io.vertx.core.http.ServerWebSocket.close:()Lio/vertx/core/Future;
            pop
        22: .line 158
            goto 32
        23: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.connectionInitialized:Ljava/util/concurrent/atomic/AtomicBoolean;
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ifne 27
        24: .line 161
            aload 0 /* this */
            aload 2 /* opId */
            getstatic io.vertx.ext.web.handler.graphql.ApolloWSMessageType.ERROR:Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            ldc "CONNECTION_INIT has to be sent before START"
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.sendMessage:(Ljava/lang/String;Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;Ljava/lang/Object;)Lio/vertx/core/Future;
        25: .line 162
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;)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/graphql/impl/ApolloWSConnectionHandler.lambda$8(Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
        26: .line 163
            goto 32
        27: .line 165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.connectionPromise:Lio/vertx/core/Promise;
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            aload 0 /* this */
            aload 3 /* type */
            aload 1 /* jsonObject */
            aload 2 /* opId */
            invokedynamic handle(Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;Lio/vertx/core/json/JsonObject;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/graphql/impl/ApolloWSConnectionHandler.lambda$9(Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;Lio/vertx/core/json/JsonObject;Ljava/lang/String;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
        28: .line 174
            goto 32
        29: .line 176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* opId */
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.stop:(Ljava/lang/String;)V
        30: .line 177
            goto 32
        31: .line 179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* opId */
            getstatic io.vertx.ext.web.handler.graphql.ApolloWSMessageType.ERROR:Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            new java.lang.StringBuilder
            dup
            ldc "Unsupported message type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.sendMessage:(Ljava/lang/String;Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;Ljava/lang/Object;)Lio/vertx/core/Future;
            pop
        32: .line 182
      StackMap locals:
      StackMap stack:
            return
        end local 6 // io.vertx.core.Handler connectionInitHandler
        end local 5 // io.vertx.core.Handler mh
        end local 4 // io.vertx.ext.web.handler.graphql.impl.ApolloWSMessageImpl message
        end local 3 // io.vertx.ext.web.handler.graphql.ApolloWSMessageType type
        end local 2 // java.lang.String opId
        end local 1 // io.vertx.core.json.JsonObject jsonObject
        end local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   33     0                   this  Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;
            0   33     1             jsonObject  Lio/vertx/core/json/JsonObject;
            1   33     2                   opId  Ljava/lang/String;
            2   33     3                   type  Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            6   33     4                message  Lio/vertx/ext/web/handler/graphql/impl/ApolloWSMessageImpl;
            7   33     5                     mh  Lio/vertx/core/Handler<Lio/vertx/ext/web/handler/graphql/ApolloWSMessage;>;
           10   33     6  connectionInitHandler  Lio/vertx/core/Handler<Lio/vertx/ext/web/handler/graphql/ApolloWSConnectionInitEvent;>;
    MethodParameters:
            Name  Flags
      jsonObject  

  private void connect();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
         0: .line 185
            aload 0 /* this */
            aconst_null
            getstatic io.vertx.ext.web.handler.graphql.ApolloWSMessageType.CONNECTION_ACK:Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            aconst_null
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.sendMessage:(Ljava/lang/String;Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;Ljava/lang/Object;)Lio/vertx/core/Future;
            pop
         1: .line 187
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.apolloWSHandler:Lio/vertx/ext/web/handler/graphql/impl/ApolloWSHandlerImpl;
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSHandlerImpl.getKeepAlive:()J
            lstore 1 /* keepAlive */
        start local 1 // long keepAlive
         2: .line 188
            lload 1 /* keepAlive */
            lconst_0
            lcmp
            ifle 5
         3: .line 189
            aload 0 /* this */
            aconst_null
            getstatic io.vertx.ext.web.handler.graphql.ApolloWSMessageType.CONNECTION_KEEP_ALIVE:Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            aconst_null
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.sendMessage:(Ljava/lang/String;Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;Ljava/lang/Object;)Lio/vertx/core/Future;
            pop
         4: .line 190
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.context:Lio/vertx/core/impl/ContextInternal;
            lload 1 /* keepAlive */
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;)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/graphql/impl/ApolloWSConnectionHandler.lambda$10(Ljava/lang/Long;)V (7)
                  (Ljava/lang/Long;)V
            invokeinterface io.vertx.core.impl.ContextInternal.setPeriodic:(JLio/vertx/core/Handler;)J
            pop2
         5: .line 198
      StackMap locals: long
      StackMap stack:
            return
        end local 1 // long keepAlive
        end local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;
            2    6     1  keepAlive  J

  private void start(io.vertx.ext.web.handler.graphql.ApolloWSMessage);
    descriptor: (Lio/vertx/ext/web/handler/graphql/ApolloWSMessage;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
        start local 1 // io.vertx.ext.web.handler.graphql.ApolloWSMessage message
         0: .line 201
            aload 1 /* message */
            invokeinterface io.vertx.ext.web.handler.graphql.ApolloWSMessage.content:()Lio/vertx/core/json/JsonObject;
            ldc "id"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* opId */
        start local 2 // java.lang.String opId
         1: .line 204
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.subscriptions:Ljava/util/concurrent/ConcurrentMap;
            aload 2 /* opId */
            invokeinterface java.util.concurrent.ConcurrentMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 205
            aload 0 /* this */
            aload 2 /* opId */
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.stop:(Ljava/lang/String;)V
         3: .line 208
      StackMap locals: java.lang.String
      StackMap stack:
            new io.vertx.ext.web.handler.graphql.impl.GraphQLQuery
            dup
            aload 1 /* message */
            invokeinterface io.vertx.ext.web.handler.graphql.ApolloWSMessage.content:()Lio/vertx/core/json/JsonObject;
            ldc "payload"
            invokevirtual io.vertx.core.json.JsonObject.getJsonObject:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            invokespecial io.vertx.ext.web.handler.graphql.impl.GraphQLQuery.<init>:(Lio/vertx/core/json/JsonObject;)V
            astore 3 /* payload */
        start local 3 // io.vertx.ext.web.handler.graphql.impl.GraphQLQuery payload
         4: .line 209
            invokestatic graphql.ExecutionInput.newExecutionInput:()Lgraphql/ExecutionInput$Builder;
            astore 4 /* builder */
        start local 4 // graphql.ExecutionInput$Builder builder
         5: .line 210
            aload 4 /* builder */
            aload 3 /* payload */
            invokevirtual io.vertx.ext.web.handler.graphql.impl.GraphQLQuery.getQuery:()Ljava/lang/String;
            invokevirtual graphql.ExecutionInput$Builder.query:(Ljava/lang/String;)Lgraphql/ExecutionInput$Builder;
            pop
         6: .line 212
            aload 4 /* builder */
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.apolloWSHandler:Lio/vertx/ext/web/handler/graphql/impl/ApolloWSHandlerImpl;
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSHandlerImpl.getQueryContext:()Ljava/util/function/Function;
            aload 1 /* message */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual graphql.ExecutionInput$Builder.context:(Ljava/lang/Object;)Lgraphql/ExecutionInput$Builder;
            pop
         7: .line 214
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.apolloWSHandler:Lio/vertx/ext/web/handler/graphql/impl/ApolloWSHandlerImpl;
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSHandlerImpl.getDataLoaderRegistry:()Ljava/util/function/Function;
            aload 1 /* message */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.dataloader.DataLoaderRegistry
            astore 5 /* registry */
        start local 5 // org.dataloader.DataLoaderRegistry registry
         8: .line 215
            aload 5 /* registry */
            ifnull 10
         9: .line 216
            aload 4 /* builder */
            aload 5 /* registry */
            invokevirtual graphql.ExecutionInput$Builder.dataLoaderRegistry:(Lorg/dataloader/DataLoaderRegistry;)Lgraphql/ExecutionInput$Builder;
            pop
        10: .line 219
      StackMap locals: io.vertx.ext.web.handler.graphql.impl.GraphQLQuery graphql.ExecutionInput$Builder org.dataloader.DataLoaderRegistry
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.apolloWSHandler:Lio/vertx/ext/web/handler/graphql/impl/ApolloWSHandlerImpl;
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSHandlerImpl.getLocale:()Ljava/util/function/Function;
            aload 1 /* message */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Locale
            astore 6 /* locale */
        start local 6 // java.util.Locale locale
        11: .line 220
            aload 6 /* locale */
            ifnull 13
        12: .line 221
            aload 4 /* builder */
            aload 6 /* locale */
            invokevirtual graphql.ExecutionInput$Builder.locale:(Ljava/util/Locale;)Lgraphql/ExecutionInput$Builder;
            pop
        13: .line 224
      StackMap locals: java.util.Locale
      StackMap stack:
            aload 3 /* payload */
            invokevirtual io.vertx.ext.web.handler.graphql.impl.GraphQLQuery.getOperationName:()Ljava/lang/String;
            astore 7 /* operationName */
        start local 7 // java.lang.String operationName
        14: .line 225
            aload 7 /* operationName */
            ifnull 16
        15: .line 226
            aload 4 /* builder */
            aload 7 /* operationName */
            invokevirtual graphql.ExecutionInput$Builder.operationName:(Ljava/lang/String;)Lgraphql/ExecutionInput$Builder;
            pop
        16: .line 228
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* payload */
            invokevirtual io.vertx.ext.web.handler.graphql.impl.GraphQLQuery.getVariables:()Ljava/util/Map;
            astore 8 /* variables */
        start local 8 // java.util.Map variables
        17: .line 229
            aload 8 /* variables */
            ifnull 19
        18: .line 230
            aload 4 /* builder */
            aload 8 /* variables */
            invokevirtual graphql.ExecutionInput$Builder.variables:(Ljava/util/Map;)Lgraphql/ExecutionInput$Builder;
            pop
        19: .line 233
      StackMap locals: java.util.Map
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.apolloWSHandler:Lio/vertx/ext/web/handler/graphql/impl/ApolloWSHandlerImpl;
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSHandlerImpl.getGraphQL:()Lgraphql/GraphQL;
            aload 4 /* builder */
            invokevirtual graphql.GraphQL.executeAsync:(Lgraphql/ExecutionInput$Builder;)Ljava/util/concurrent/CompletableFuture;
            aload 0 /* this */
            aload 2 /* opId */
            invokedynamic accept(Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;Ljava/lang/String;)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/graphql/impl/ApolloWSConnectionHandler.lambda$11(Ljava/lang/String;Lgraphql/ExecutionResult;Ljava/lang/Throwable;)V (7)
                  (Lgraphql/ExecutionResult;Ljava/lang/Throwable;)V
        20: .line 247
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.executor:Ljava/util/concurrent/Executor;
        21: .line 233
            invokevirtual java.util.concurrent.CompletableFuture.whenCompleteAsync:(Ljava/util/function/BiConsumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
            pop
        22: .line 248
            return
        end local 8 // java.util.Map variables
        end local 7 // java.lang.String operationName
        end local 6 // java.util.Locale locale
        end local 5 // org.dataloader.DataLoaderRegistry registry
        end local 4 // graphql.ExecutionInput$Builder builder
        end local 3 // io.vertx.ext.web.handler.graphql.impl.GraphQLQuery payload
        end local 2 // java.lang.String opId
        end local 1 // io.vertx.ext.web.handler.graphql.ApolloWSMessage message
        end local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   23     0           this  Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;
            0   23     1        message  Lio/vertx/ext/web/handler/graphql/ApolloWSMessage;
            1   23     2           opId  Ljava/lang/String;
            4   23     3        payload  Lio/vertx/ext/web/handler/graphql/impl/GraphQLQuery;
            5   23     4        builder  Lgraphql/ExecutionInput$Builder;
            8   23     5       registry  Lorg/dataloader/DataLoaderRegistry;
           11   23     6         locale  Ljava/util/Locale;
           14   23     7  operationName  Ljava/lang/String;
           17   23     8      variables  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    MethodParameters:
         Name  Flags
      message  

  private void subscribe(java.lang.String, graphql.ExecutionResult);
    descriptor: (Ljava/lang/String;Lgraphql/ExecutionResult;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
        start local 1 // java.lang.String opId
        start local 2 // graphql.ExecutionResult executionResult
         0: .line 251
            aload 2 /* executionResult */
            invokeinterface graphql.ExecutionResult.getData:()Ljava/lang/Object;
            checkcast org.reactivestreams.Publisher
            astore 3 /* publisher */
        start local 3 // org.reactivestreams.Publisher publisher
         1: .line 253
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            astore 4 /* subscriptionRef */
        start local 4 // java.util.concurrent.atomic.AtomicReference subscriptionRef
         2: .line 254
            aload 3 /* publisher */
            new io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler$2
            dup
            aload 0 /* this */
            aload 4 /* subscriptionRef */
            aload 1 /* opId */
            invokespecial io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler$2.<init>:(Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/String;)V
            invokeinterface org.reactivestreams.Publisher.subscribe:(Lorg/reactivestreams/Subscriber;)V
         3: .line 283
            return
        end local 4 // java.util.concurrent.atomic.AtomicReference subscriptionRef
        end local 3 // org.reactivestreams.Publisher publisher
        end local 2 // graphql.ExecutionResult executionResult
        end local 1 // java.lang.String opId
        end local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;
            0    4     1             opId  Ljava/lang/String;
            0    4     2  executionResult  Lgraphql/ExecutionResult;
            1    4     3        publisher  Lorg/reactivestreams/Publisher<Lgraphql/ExecutionResult;>;
            2    4     4  subscriptionRef  Ljava/util/concurrent/atomic/AtomicReference<Lorg/reactivestreams/Subscription;>;
    MethodParameters:
                 Name  Flags
      opId             
      executionResult  

  private void stop(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
        start local 1 // java.lang.String opId
         0: .line 286
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.subscriptions:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* opId */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.reactivestreams.Subscription
            astore 2 /* subscription */
        start local 2 // org.reactivestreams.Subscription subscription
         1: .line 287
            aload 2 /* subscription */
            ifnull 4
         2: .line 288
            aload 2 /* subscription */
            invokeinterface org.reactivestreams.Subscription.cancel:()V
         3: .line 289
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.subscriptions:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* opId */
            invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 291
      StackMap locals: org.reactivestreams.Subscription
      StackMap stack:
            return
        end local 2 // org.reactivestreams.Subscription subscription
        end local 1 // java.lang.String opId
        end local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;
            0    5     1          opId  Ljava/lang/String;
            1    5     2  subscription  Lorg/reactivestreams/Subscription;
    MethodParameters:
      Name  Flags
      opId  

  private io.vertx.core.json.JsonObject toJsonObject(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Lio/vertx/core/json/JsonObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
        start local 1 // java.lang.Throwable t
         0: .line 294
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            ldc "message"
            aload 1 /* t */
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
            astore 2 /* res */
        start local 2 // io.vertx.core.json.JsonObject res
         1: .line 295
            invokestatic io.vertx.ext.web.common.WebEnvironment.development:()Z
            ifeq 18
         2: .line 296
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 3 /* sw */
        start local 3 // java.io.StringWriter sw
         3: .line 297
            aconst_null
            astore 4
            aconst_null
            astore 5
         4: new java.io.PrintWriter
            dup
            aload 3 /* sw */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            astore 6 /* writer */
        start local 6 // java.io.PrintWriter writer
         5: .line 298
            aload 1 /* t */
            aload 6 /* writer */
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
         6: .line 299
            aload 6 /* writer */
            invokevirtual java.io.PrintWriter.flush:()V
         7: .line 300
            aload 6 /* writer */
            ifnull 13
            aload 6 /* writer */
            invokevirtual java.io.PrintWriter.close:()V
            goto 13
      StackMap locals: io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler java.lang.Throwable io.vertx.core.json.JsonObject java.io.StringWriter java.lang.Throwable java.lang.Throwable java.io.PrintWriter
      StackMap stack: java.lang.Throwable
         8: astore 4
            aload 6 /* writer */
            ifnull 9
            aload 6 /* writer */
            invokevirtual java.io.PrintWriter.close:()V
        end local 6 // java.io.PrintWriter writer
      StackMap locals:
      StackMap stack:
         9: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 5
            aload 4
            ifnonnull 11
            aload 5
            astore 4
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 4
            aload 5
            if_acmpeq 12
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 4
            athrow
        13: .line 301
      StackMap locals:
      StackMap stack:
            aload 2 /* res */
            ldc "extensions"
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
        14: .line 302
            ldc "exception"
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
        15: .line 303
            ldc "stacktrace"
            aload 3 /* sw */
            invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
        16: .line 302
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
        17: .line 301
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
            pop
        end local 3 // java.io.StringWriter sw
        18: .line 305
      StackMap locals:
      StackMap stack:
            aload 2 /* res */
            areturn
        end local 2 // io.vertx.core.json.JsonObject res
        end local 1 // java.lang.Throwable t
        end local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   19     0    this  Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;
            0   19     1       t  Ljava/lang/Throwable;
            1   19     2     res  Lio/vertx/core/json/JsonObject;
            3   18     3      sw  Ljava/io/StringWriter;
            5    9     6  writer  Ljava/io/PrintWriter;
      Exception table:
        from    to  target  type
           5     7       8  any
           4    10      10  any
    MethodParameters:
      Name  Flags
      t     

  private io.vertx.core.Future<java.lang.Void> sendMessage(java.lang.String, io.vertx.ext.web.handler.graphql.ApolloWSMessageType, );
    descriptor: (Ljava/lang/String;Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;Ljava/lang/Object;)Lio/vertx/core/Future;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
        start local 1 // java.lang.String opId
        start local 2 // io.vertx.ext.web.handler.graphql.ApolloWSMessageType type
        start local 3 // java.lang.Object payload
         0: .line 309
            aload 2 /* type */
            ldc "type is null"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 310
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            astore 4 /* message */
        start local 4 // io.vertx.core.json.JsonObject message
         2: .line 311
            aload 1 /* opId */
            ifnull 4
         3: .line 312
            aload 4 /* message */
            ldc "id"
            aload 1 /* opId */
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
            pop
         4: .line 314
      StackMap locals: io.vertx.core.json.JsonObject
      StackMap stack:
            aload 4 /* message */
            ldc "type"
            aload 2 /* type */
            invokevirtual io.vertx.ext.web.handler.graphql.ApolloWSMessageType.getText:()Ljava/lang/String;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
            pop
         5: .line 315
            aload 3 /* payload */
            ifnull 7
         6: .line 316
            aload 4 /* message */
            ldc "payload"
            aload 3 /* payload */
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
            pop
         7: .line 318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.serverWebSocket:Lio/vertx/core/http/ServerWebSocket;
            aload 4 /* message */
            invokevirtual io.vertx.core.json.JsonObject.toString:()Ljava/lang/String;
            invokeinterface io.vertx.core.http.ServerWebSocket.writeTextMessage:(Ljava/lang/String;)Lio/vertx/core/Future;
            areturn
        end local 4 // io.vertx.core.json.JsonObject message
        end local 3 // java.lang.Object payload
        end local 2 // io.vertx.ext.web.handler.graphql.ApolloWSMessageType type
        end local 1 // java.lang.String opId
        end local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;
            0    8     1     opId  Ljava/lang/String;
            0    8     2     type  Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            0    8     3  payload  Ljava/lang/Object;
            2    8     4  message  Lio/vertx/core/json/JsonObject;
    Signature: (Ljava/lang/String;Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;Ljava/lang/Object;)Lio/vertx/core/Future<Ljava/lang/Void;>;
    MethodParameters:
         Name  Flags
      opId     
      type     
      payload  

  private void close(java.lang.Void);
    descriptor: (Ljava/lang/Void;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
        start local 1 // java.lang.Void v
         0: .line 322
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.subscriptions:Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
            invokedynamic accept()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
                  org/reactivestreams/Subscription.cancel()V (9 itf)
                  (Lorg/reactivestreams/Subscription;)V
            invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
         1: .line 324
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.apolloWSHandler:Lio/vertx/ext/web/handler/graphql/impl/ApolloWSHandlerImpl;
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSHandlerImpl.getEndHandler:()Lio/vertx/core/Handler;
            astore 2 /* eh */
        start local 2 // io.vertx.core.Handler eh
         2: .line 325
            aload 2 /* eh */
            ifnull 4
         3: .line 326
            aload 2 /* eh */
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.serverWebSocket:Lio/vertx/core/http/ServerWebSocket;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         4: .line 328
      StackMap locals: io.vertx.core.Handler
      StackMap stack:
            return
        end local 2 // io.vertx.core.Handler eh
        end local 1 // java.lang.Void v
        end local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;
            0    5     1     v  Ljava/lang/Void;
            2    5     2    eh  Lio/vertx/core/Handler<Lio/vertx/core/http/ServerWebSocket;>;
    MethodParameters:
      Name  Flags
      v     

  static int[] $SWITCH_TABLE$io$vertx$ext$web$handler$graphql$ApolloWSMessageType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 55
            getstatic io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.$SWITCH_TABLE$io$vertx$ext$web$handler$graphql$ApolloWSMessageType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic io.vertx.ext.web.handler.graphql.ApolloWSMessageType.values:()[Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic io.vertx.ext.web.handler.graphql.ApolloWSMessageType.COMPLETE:Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            invokevirtual io.vertx.ext.web.handler.graphql.ApolloWSMessageType.ordinal:()I
            bipush 10
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic io.vertx.ext.web.handler.graphql.ApolloWSMessageType.CONNECTION_ACK:Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            invokevirtual io.vertx.ext.web.handler.graphql.ApolloWSMessageType.ordinal:()I
            iconst_5
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic io.vertx.ext.web.handler.graphql.ApolloWSMessageType.CONNECTION_ERROR:Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            invokevirtual io.vertx.ext.web.handler.graphql.ApolloWSMessageType.ordinal:()I
            bipush 6
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic io.vertx.ext.web.handler.graphql.ApolloWSMessageType.CONNECTION_INIT:Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            invokevirtual io.vertx.ext.web.handler.graphql.ApolloWSMessageType.ordinal:()I
            iconst_1
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic io.vertx.ext.web.handler.graphql.ApolloWSMessageType.CONNECTION_KEEP_ALIVE:Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            invokevirtual io.vertx.ext.web.handler.graphql.ApolloWSMessageType.ordinal:()I
            bipush 7
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic io.vertx.ext.web.handler.graphql.ApolloWSMessageType.CONNECTION_TERMINATE:Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            invokevirtual io.vertx.ext.web.handler.graphql.ApolloWSMessageType.ordinal:()I
            iconst_2
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic io.vertx.ext.web.handler.graphql.ApolloWSMessageType.DATA:Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            invokevirtual io.vertx.ext.web.handler.graphql.ApolloWSMessageType.ordinal:()I
            bipush 8
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic io.vertx.ext.web.handler.graphql.ApolloWSMessageType.ERROR:Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            invokevirtual io.vertx.ext.web.handler.graphql.ApolloWSMessageType.ordinal:()I
            bipush 9
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic io.vertx.ext.web.handler.graphql.ApolloWSMessageType.START:Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            invokevirtual io.vertx.ext.web.handler.graphql.ApolloWSMessageType.ordinal:()I
            iconst_3
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic io.vertx.ext.web.handler.graphql.ApolloWSMessageType.STOP:Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            invokevirtual io.vertx.ext.web.handler.graphql.ApolloWSMessageType.ordinal:()I
            iconst_4
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            dup
            putstatic io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.$SWITCH_TABLE$io$vertx$ext$web$handler$graphql$ApolloWSMessageType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError

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

  private void lambda$5(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
        start local 1 // io.vertx.core.AsyncResult v
         0: .line 119
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.serverWebSocket:Lio/vertx/core/http/ServerWebSocket;
            sipush 1011
            invokeinterface io.vertx.core.http.ServerWebSocket.close:(S)Lio/vertx/core/Future;
            return
        end local 1 // io.vertx.core.AsyncResult v
        end local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;
            0    1     1     v  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private void lambda$6(java.lang.String, io.vertx.core.AsyncResult);
    descriptor: (Ljava/lang/String;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
        start local 2 // io.vertx.core.AsyncResult ar
         0: .line 148
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 149
            aload 0 /* this */
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.connect:()V
         2: .line 150
            goto 5
         3: .line 151
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1
            getstatic io.vertx.ext.web.handler.graphql.ApolloWSMessageType.CONNECTION_ERROR:Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.sendMessage:(Ljava/lang/String;Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;Ljava/lang/Object;)Lio/vertx/core/Future;
         4: .line 152
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;)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/graphql/impl/ApolloWSConnectionHandler.lambda$7(Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         5: .line 154
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;
            0    6     2    ar  Lio/vertx/core/AsyncResult<Ljava/lang/Object;>;

  private void lambda$8(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
        start local 1 // io.vertx.core.AsyncResult v
         0: .line 162
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.serverWebSocket:Lio/vertx/core/http/ServerWebSocket;
            sipush 1011
            invokeinterface io.vertx.core.http.ServerWebSocket.close:(S)Lio/vertx/core/Future;
            return
        end local 1 // io.vertx.core.AsyncResult v
        end local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;
            0    1     1     v  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private void lambda$9(io.vertx.ext.web.handler.graphql.ApolloWSMessageType, io.vertx.core.json.JsonObject, java.lang.String, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;Lio/vertx/core/json/JsonObject;Ljava/lang/String;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
        start local 4 // io.vertx.core.AsyncResult ar
         0: .line 166
            aload 4 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 4
         1: .line 167
            new io.vertx.ext.web.handler.graphql.impl.ApolloWSMessageImpl
            dup
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.serverWebSocket:Lio/vertx/core/http/ServerWebSocket;
            aload 1
            aload 2
            aload 4 /* ar */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            invokespecial io.vertx.ext.web.handler.graphql.impl.ApolloWSMessageImpl.<init>:(Lio/vertx/core/http/ServerWebSocket;Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;Lio/vertx/core/json/JsonObject;Ljava/lang/Object;)V
            astore 5 /* messageWithParams */
        start local 5 // io.vertx.ext.web.handler.graphql.ApolloWSMessage messageWithParams
         2: .line 168
            aload 0 /* this */
            aload 5 /* messageWithParams */
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.start:(Lio/vertx/ext/web/handler/graphql/ApolloWSMessage;)V
        end local 5 // io.vertx.ext.web.handler.graphql.ApolloWSMessage messageWithParams
         3: .line 169
            goto 6
         4: .line 170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3
            getstatic io.vertx.ext.web.handler.graphql.ApolloWSMessageType.ERROR:Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            aload 4 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.sendMessage:(Ljava/lang/String;Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;Ljava/lang/Object;)Lio/vertx/core/Future;
            pop
         5: .line 171
            aload 0 /* this */
            aload 3
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.stop:(Ljava/lang/String;)V
         6: .line 173
      StackMap locals:
      StackMap stack:
            return
        end local 4 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;
            0    7     4                 ar  Lio/vertx/core/AsyncResult<Ljava/lang/Object;>;
            2    3     5  messageWithParams  Lio/vertx/ext/web/handler/graphql/ApolloWSMessage;

  private void lambda$10(java.lang.Long);
    descriptor: (Ljava/lang/Long;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
        start local 1 // java.lang.Long timerId
         0: .line 191
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.serverWebSocket:Lio/vertx/core/http/ServerWebSocket;
            invokeinterface io.vertx.core.http.ServerWebSocket.isClosed:()Z
            ifeq 3
         1: .line 192
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.context:Lio/vertx/core/impl/ContextInternal;
            invokeinterface io.vertx.core.impl.ContextInternal.owner:()Lio/vertx/core/impl/VertxInternal;
            aload 1 /* timerId */
            invokevirtual java.lang.Long.longValue:()J
            invokeinterface io.vertx.core.impl.VertxInternal.cancelTimer:(J)Z
            pop
         2: .line 193
            goto 4
         3: .line 194
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            getstatic io.vertx.ext.web.handler.graphql.ApolloWSMessageType.CONNECTION_KEEP_ALIVE:Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            aconst_null
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.sendMessage:(Ljava/lang/String;Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;Ljava/lang/Object;)Lio/vertx/core/Future;
            pop
         4: .line 196
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Long timerId
        end local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;
            0    5     1  timerId  Ljava/lang/Long;

  private void lambda$11(java.lang.String, graphql.ExecutionResult, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Lgraphql/ExecutionResult;Ljava/lang/Throwable;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
        start local 2 // graphql.ExecutionResult executionResult
        start local 3 // java.lang.Throwable throwable
         0: .line 234
            aload 3 /* throwable */
            ifnonnull 7
         1: .line 235
            aload 2 /* executionResult */
            invokeinterface graphql.ExecutionResult.getData:()Ljava/lang/Object;
            instanceof org.reactivestreams.Publisher
            ifeq 4
         2: .line 236
            aload 0 /* this */
            aload 1
            aload 2 /* executionResult */
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.subscribe:(Ljava/lang/String;Lgraphql/ExecutionResult;)V
         3: .line 237
            goto 10
         4: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1
            getstatic io.vertx.ext.web.handler.graphql.ApolloWSMessageType.DATA:Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            new io.vertx.core.json.JsonObject
            dup
            aload 2 /* executionResult */
            invokeinterface graphql.ExecutionResult.toSpecification:()Ljava/util/Map;
            invokespecial io.vertx.core.json.JsonObject.<init>:(Ljava/util/Map;)V
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.sendMessage:(Ljava/lang/String;Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;Ljava/lang/Object;)Lio/vertx/core/Future;
            pop
         5: .line 239
            aload 0 /* this */
            aload 1
            getstatic io.vertx.ext.web.handler.graphql.ApolloWSMessageType.COMPLETE:Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            aconst_null
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.sendMessage:(Ljava/lang/String;Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;Ljava/lang/Object;)Lio/vertx/core/Future;
            pop
         6: .line 241
            goto 10
         7: .line 242
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.log:Lio/vertx/core/impl/logging/Logger;
            invokeinterface io.vertx.core.impl.logging.Logger.isDebugEnabled:()Z
            ifeq 9
         8: .line 243
            getstatic io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.log:Lio/vertx/core/impl/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Failed to execute GraphQL query, opId="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* throwable */
            invokeinterface io.vertx.core.impl.logging.Logger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         9: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1
            getstatic io.vertx.ext.web.handler.graphql.ApolloWSMessageType.ERROR:Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;
            aload 0 /* this */
            aload 3 /* throwable */
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.toJsonObject:(Ljava/lang/Throwable;)Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.sendMessage:(Ljava/lang/String;Lio/vertx/ext/web/handler/graphql/ApolloWSMessageType;Ljava/lang/Object;)Lio/vertx/core/Future;
            pop
        10: .line 247
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Throwable throwable
        end local 2 // graphql.ExecutionResult executionResult
        end local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;
            0   11     2  executionResult  Lgraphql/ExecutionResult;
            0   11     3        throwable  Ljava/lang/Throwable;

  private static void lambda$1(java.lang.Runnable, java.lang.Void);
    descriptor: (Ljava/lang/Runnable;Ljava/lang/Void;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 1 // java.lang.Void v
         0: .line 72
            aload 0
            invokeinterface java.lang.Runnable.run:()V
            return
        end local 1 // java.lang.Void v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     v  Ljava/lang/Void;

  private void lambda$7(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
        start local 1 // io.vertx.core.AsyncResult v
         0: .line 152
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler.serverWebSocket:Lio/vertx/core/http/ServerWebSocket;
            sipush 1011
            invokeinterface io.vertx.core.http.ServerWebSocket.close:(S)Lio/vertx/core/Future;
            return
        end local 1 // io.vertx.core.AsyncResult v
        end local 0 // io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/web/handler/graphql/impl/ApolloWSConnectionHandler;
            0    1     1     v  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
}
SourceFile: "ApolloWSConnectionHandler.java"
NestMembers:
  io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler$1  io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler$2
InnerClasses:
  public Builder = graphql.ExecutionInput$Builder of graphql.ExecutionInput
  io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler$1
  io.vertx.ext.web.handler.graphql.impl.ApolloWSConnectionHandler$2
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles