public class io.vertx.core.impl.VertxImpl implements io.vertx.core.impl.VertxInternal, io.vertx.core.spi.metrics.MetricsProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.core.impl.VertxImpl
  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 java.lang.String CLUSTER_MAP_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "__vertx.haInfo"

  private static final java.lang.String NETTY_IO_RATIO_PROPERTY_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "vertx.nettyIORatio"

  private static final int NETTY_IO_RATIO;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

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

  private final java.util.concurrent.ConcurrentMap<java.lang.Long, io.vertx.core.impl.VertxImpl$InternalTimerHandler> timeouts;
    descriptor: Ljava/util/concurrent/ConcurrentMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/Long;Lio/vertx/core/impl/VertxImpl$InternalTimerHandler;>;

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

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

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

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

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

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

  private final java.util.Map<io.vertx.core.net.impl.ServerID, io.vertx.core.http.impl.HttpServerImpl> sharedHttpServers;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lio/vertx/core/net/impl/ServerID;Lio/vertx/core/http/impl/HttpServerImpl;>;

  private final java.util.Map<io.vertx.core.net.impl.ServerID, io.vertx.core.net.impl.NetServerImpl> sharedNetServers;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lio/vertx/core/net/impl/ServerID;Lio/vertx/core/net/impl/NetServerImpl;>;

  final io.vertx.core.impl.WorkerPool workerPool;
    descriptor: Lio/vertx/core/impl/WorkerPool;
    flags: (0x0010) ACC_FINAL

  final io.vertx.core.impl.WorkerPool internalBlockingPool;
    descriptor: Lio/vertx/core/impl/WorkerPool;
    flags: (0x0010) ACC_FINAL

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

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

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

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

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

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

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

  private volatile io.vertx.core.impl.HAManager haManager;
    descriptor: Lio/vertx/core/impl/HAManager;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

  private volatile io.vertx.core.Handler<java.lang.Throwable> exceptionHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    Signature: Lio/vertx/core/Handler<Ljava/lang/Throwable;>;

  private final java.util.Map<java.lang.String, io.vertx.core.impl.VertxImpl$SharedWorkerPool> namedWorkerPools;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lio/vertx/core/impl/VertxImpl$SharedWorkerPool;>;

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

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

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

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

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

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

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

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

  private final java.lang.ThreadLocal<java.lang.ref.WeakReference<io.vertx.core.impl.AbstractContext>> stickyContext;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<Ljava/lang/ref/WeakReference<Lio/vertx/core/impl/AbstractContext;>;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 82
            ldc Lio/vertx/core/impl/VertxImpl;
            invokestatic io.vertx.core.impl.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/impl/logging/Logger;
            putstatic io.vertx.core.impl.VertxImpl.log:Lio/vertx/core/impl/logging/Logger;
         1: .line 86
            ldc "vertx.nettyIORatio"
            bipush 50
            invokestatic java.lang.Integer.getInteger:(Ljava/lang/String;I)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            putstatic io.vertx.core.impl.VertxImpl.NETTY_IO_RATIO:I
         2: .line 91
            ldc "io.netty.leakDetection.level"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 4
         3: .line 92
            ldc "io.netty.leakDetectionLevel"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 5
         4: .line 93
      StackMap locals:
      StackMap stack:
            getstatic io.netty.util.ResourceLeakDetector$Level.DISABLED:Lio/netty/util/ResourceLeakDetector$Level;
            invokestatic io.netty.util.ResourceLeakDetector.setLevel:(Lio/netty/util/ResourceLeakDetector$Level;)V
         5: .line 97
      StackMap locals:
      StackMap stack:
            ldc "io.netty.noJdkZlibDecoder"
            ldc "false"
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
         6: .line 98
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(io.vertx.core.VertxOptions, io.vertx.core.spi.cluster.ClusterManager, io.vertx.core.spi.cluster.NodeSelector, io.vertx.core.spi.metrics.VertxMetrics, io.vertx.core.spi.tracing.VertxTracer<?, ?>, io.vertx.core.net.impl.transport.Transport, io.vertx.core.file.impl.FileResolver);
    descriptor: (Lio/vertx/core/VertxOptions;Lio/vertx/core/spi/cluster/ClusterManager;Lio/vertx/core/spi/cluster/NodeSelector;Lio/vertx/core/spi/metrics/VertxMetrics;Lio/vertx/core/spi/tracing/VertxTracer;Lio/vertx/core/net/impl/transport/Transport;Lio/vertx/core/file/impl/FileResolver;)V
    flags: (0x0000) 
    Code:
      stack=16, locals=14, args_size=8
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.VertxOptions options
        start local 2 // io.vertx.core.spi.cluster.ClusterManager clusterManager
        start local 3 // io.vertx.core.spi.cluster.NodeSelector nodeSelector
        start local 4 // io.vertx.core.spi.metrics.VertxMetrics metrics
        start local 5 // io.vertx.core.spi.tracing.VertxTracer tracer
        start local 6 // io.vertx.core.net.impl.transport.Transport transport
        start local 7 // io.vertx.core.file.impl.FileResolver fileResolver
         0: .line 135
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 100
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.getFileSystem:()Lio/vertx/core/file/FileSystem;
            putfield io.vertx.core.impl.VertxImpl.fileSystem:Lio/vertx/core/file/FileSystem;
         2: .line 103
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield io.vertx.core.impl.VertxImpl.timeouts:Ljava/util/concurrent/ConcurrentMap;
         3: .line 104
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicLong
            dup
            lconst_0
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
            putfield io.vertx.core.impl.VertxImpl.timeoutCounter:Ljava/util/concurrent/atomic/AtomicLong;
         4: .line 110
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield io.vertx.core.impl.VertxImpl.sharedHttpServers:Ljava/util/Map;
         5: .line 111
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield io.vertx.core.impl.VertxImpl.sharedNetServers:Ljava/util/Map;
         6: .line 133
            aload 0 /* this */
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putfield io.vertx.core.impl.VertxImpl.stickyContext:Ljava/lang/ThreadLocal;
         7: .line 137
            invokestatic io.vertx.core.Vertx.currentContext:()Lio/vertx/core/Context;
            ifnull 9
         8: .line 138
            getstatic io.vertx.core.impl.VertxImpl.log:Lio/vertx/core/impl/logging/Logger;
            ldc "You're already on a Vert.x context, are you sure you want to create a new Vertx instance?"
            invokeinterface io.vertx.core.impl.logging.Logger.warn:(Ljava/lang/Object;)V
         9: .line 140
      StackMap locals: io.vertx.core.impl.VertxImpl io.vertx.core.VertxOptions io.vertx.core.spi.cluster.ClusterManager io.vertx.core.spi.cluster.NodeSelector io.vertx.core.spi.metrics.VertxMetrics io.vertx.core.spi.tracing.VertxTracer io.vertx.core.net.impl.transport.Transport io.vertx.core.file.impl.FileResolver
      StackMap stack:
            aload 0 /* this */
            new io.vertx.core.impl.CloseHooks
            dup
            getstatic io.vertx.core.impl.VertxImpl.log:Lio/vertx/core/impl/logging/Logger;
            invokespecial io.vertx.core.impl.CloseHooks.<init>:(Lio/vertx/core/impl/logging/Logger;)V
            putfield io.vertx.core.impl.VertxImpl.closeHooks:Lio/vertx/core/impl/CloseHooks;
        10: .line 141
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual io.vertx.core.VertxOptions.getMaxEventLoopExecuteTime:()J
            putfield io.vertx.core.impl.VertxImpl.maxEventLoopExecTime:J
        11: .line 142
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual io.vertx.core.VertxOptions.getMaxEventLoopExecuteTimeUnit:()Ljava/util/concurrent/TimeUnit;
            putfield io.vertx.core.impl.VertxImpl.maxEventLoopExecTimeUnit:Ljava/util/concurrent/TimeUnit;
        12: .line 143
            aload 0 /* this */
            new io.vertx.core.impl.BlockedThreadChecker
            dup
            aload 1 /* options */
            invokevirtual io.vertx.core.VertxOptions.getBlockedThreadCheckInterval:()J
            aload 1 /* options */
            invokevirtual io.vertx.core.VertxOptions.getBlockedThreadCheckIntervalUnit:()Ljava/util/concurrent/TimeUnit;
            aload 1 /* options */
            invokevirtual io.vertx.core.VertxOptions.getWarningExceptionTime:()J
            aload 1 /* options */
            invokevirtual io.vertx.core.VertxOptions.getWarningExceptionTimeUnit:()Ljava/util/concurrent/TimeUnit;
            invokespecial io.vertx.core.impl.BlockedThreadChecker.<init>:(JLjava/util/concurrent/TimeUnit;JLjava/util/concurrent/TimeUnit;)V
            putfield io.vertx.core.impl.VertxImpl.checker:Lio/vertx/core/impl/BlockedThreadChecker;
        13: .line 144
            aload 0 /* this */
            new io.vertx.core.impl.VertxThreadFactory
            dup
            ldc "vert.x-eventloop-thread-"
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.checker:Lio/vertx/core/impl/BlockedThreadChecker;
            iconst_0
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.maxEventLoopExecTime:J
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.maxEventLoopExecTimeUnit:Ljava/util/concurrent/TimeUnit;
            invokespecial io.vertx.core.impl.VertxThreadFactory.<init>:(Ljava/lang/String;Lio/vertx/core/impl/BlockedThreadChecker;ZJLjava/util/concurrent/TimeUnit;)V
            putfield io.vertx.core.impl.VertxImpl.eventLoopThreadFactory:Ljava/util/concurrent/ThreadFactory;
        14: .line 145
            aload 0 /* this */
            aload 6 /* transport */
            iconst_1
            aload 1 /* options */
            invokevirtual io.vertx.core.VertxOptions.getEventLoopPoolSize:()I
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.eventLoopThreadFactory:Ljava/util/concurrent/ThreadFactory;
            getstatic io.vertx.core.impl.VertxImpl.NETTY_IO_RATIO:I
            invokevirtual io.vertx.core.net.impl.transport.Transport.eventLoopGroup:(IILjava/util/concurrent/ThreadFactory;I)Lio/netty/channel/EventLoopGroup;
            putfield io.vertx.core.impl.VertxImpl.eventLoopGroup:Lio/netty/channel/EventLoopGroup;
        15: .line 146
            new io.vertx.core.impl.VertxThreadFactory
            dup
            ldc "vert.x-acceptor-thread-"
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.checker:Lio/vertx/core/impl/BlockedThreadChecker;
            iconst_0
            aload 1 /* options */
            invokevirtual io.vertx.core.VertxOptions.getMaxEventLoopExecuteTime:()J
            aload 1 /* options */
            invokevirtual io.vertx.core.VertxOptions.getMaxEventLoopExecuteTimeUnit:()Ljava/util/concurrent/TimeUnit;
            invokespecial io.vertx.core.impl.VertxThreadFactory.<init>:(Ljava/lang/String;Lio/vertx/core/impl/BlockedThreadChecker;ZJLjava/util/concurrent/TimeUnit;)V
            astore 8 /* acceptorEventLoopThreadFactory */
        start local 8 // java.util.concurrent.ThreadFactory acceptorEventLoopThreadFactory
        16: .line 149
            aload 0 /* this */
            aload 6 /* transport */
            iconst_0
            iconst_1
            aload 8 /* acceptorEventLoopThreadFactory */
            bipush 100
            invokevirtual io.vertx.core.net.impl.transport.Transport.eventLoopGroup:(IILjava/util/concurrent/ThreadFactory;I)Lio/netty/channel/EventLoopGroup;
            putfield io.vertx.core.impl.VertxImpl.acceptorEventLoopGroup:Lio/netty/channel/EventLoopGroup;
        17: .line 151
            aload 1 /* options */
            invokevirtual io.vertx.core.VertxOptions.getWorkerPoolSize:()I
            istore 9 /* workerPoolSize */
        start local 9 // int workerPoolSize
        18: .line 152
            new java.util.concurrent.ThreadPoolExecutor
            dup
            iload 9 /* workerPoolSize */
            iload 9 /* workerPoolSize */
        19: .line 153
            lconst_0
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            new java.util.concurrent.LinkedTransferQueue
            dup
            invokespecial java.util.concurrent.LinkedTransferQueue.<init>:()V
        20: .line 154
            new io.vertx.core.impl.VertxThreadFactory
            dup
            ldc "vert.x-worker-thread-"
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.checker:Lio/vertx/core/impl/BlockedThreadChecker;
            iconst_1
            aload 1 /* options */
            invokevirtual io.vertx.core.VertxOptions.getMaxWorkerExecuteTime:()J
            aload 1 /* options */
            invokevirtual io.vertx.core.VertxOptions.getMaxWorkerExecuteTimeUnit:()Ljava/util/concurrent/TimeUnit;
            invokespecial io.vertx.core.impl.VertxThreadFactory.<init>:(Ljava/lang/String;Lio/vertx/core/impl/BlockedThreadChecker;ZJLjava/util/concurrent/TimeUnit;)V
        21: .line 152
            invokespecial java.util.concurrent.ThreadPoolExecutor.<init>:(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;)V
            astore 10 /* workerExec */
        start local 10 // java.util.concurrent.ExecutorService workerExec
        22: .line 155
            aload 4 /* metrics */
            ifnull 23
            aload 4 /* metrics */
            ldc "worker"
            ldc "vert.x-worker-thread"
            aload 1 /* options */
            invokevirtual io.vertx.core.VertxOptions.getWorkerPoolSize:()I
            invokeinterface io.vertx.core.spi.metrics.VertxMetrics.createPoolMetrics:(Ljava/lang/String;Ljava/lang/String;I)Lio/vertx/core/spi/metrics/PoolMetrics;
            goto 24
      StackMap locals: java.util.concurrent.ThreadFactory int java.util.concurrent.ExecutorService
      StackMap stack:
        23: aconst_null
      StackMap locals:
      StackMap stack: io.vertx.core.spi.metrics.PoolMetrics
        24: astore 11 /* workerPoolMetrics */
        start local 11 // io.vertx.core.spi.metrics.PoolMetrics workerPoolMetrics
        25: .line 156
            aload 1 /* options */
            invokevirtual io.vertx.core.VertxOptions.getInternalBlockingPoolSize:()I
        26: .line 157
            new io.vertx.core.impl.VertxThreadFactory
            dup
            ldc "vert.x-internal-blocking-"
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.checker:Lio/vertx/core/impl/BlockedThreadChecker;
            iconst_1
            aload 1 /* options */
            invokevirtual io.vertx.core.VertxOptions.getMaxWorkerExecuteTime:()J
            aload 1 /* options */
            invokevirtual io.vertx.core.VertxOptions.getMaxWorkerExecuteTimeUnit:()Ljava/util/concurrent/TimeUnit;
            invokespecial io.vertx.core.impl.VertxThreadFactory.<init>:(Ljava/lang/String;Lio/vertx/core/impl/BlockedThreadChecker;ZJLjava/util/concurrent/TimeUnit;)V
        27: .line 156
            invokestatic java.util.concurrent.Executors.newFixedThreadPool:(ILjava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;
            astore 12 /* internalBlockingExec */
        start local 12 // java.util.concurrent.ExecutorService internalBlockingExec
        28: .line 158
            aload 4 /* metrics */
            ifnull 29
            aload 4 /* metrics */
            ldc "worker"
            ldc "vert.x-internal-blocking"
            aload 1 /* options */
            invokevirtual io.vertx.core.VertxOptions.getInternalBlockingPoolSize:()I
            invokeinterface io.vertx.core.spi.metrics.VertxMetrics.createPoolMetrics:(Ljava/lang/String;Ljava/lang/String;I)Lio/vertx/core/spi/metrics/PoolMetrics;
            goto 30
      StackMap locals: io.vertx.core.spi.metrics.PoolMetrics java.util.concurrent.ExecutorService
      StackMap stack:
        29: aconst_null
      StackMap locals:
      StackMap stack: io.vertx.core.spi.metrics.PoolMetrics
        30: astore 13 /* internalBlockingPoolMetrics */
        start local 13 // io.vertx.core.spi.metrics.PoolMetrics internalBlockingPoolMetrics
        31: .line 159
            aload 0 /* this */
            new io.vertx.core.impl.WorkerPool
            dup
            aload 12 /* internalBlockingExec */
            aload 13 /* internalBlockingPoolMetrics */
            invokespecial io.vertx.core.impl.WorkerPool.<init>:(Ljava/util/concurrent/ExecutorService;Lio/vertx/core/spi/metrics/PoolMetrics;)V
            putfield io.vertx.core.impl.VertxImpl.internalBlockingPool:Lio/vertx/core/impl/WorkerPool;
        32: .line 160
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield io.vertx.core.impl.VertxImpl.namedWorkerPools:Ljava/util/Map;
        33: .line 161
            aload 0 /* this */
            new io.vertx.core.impl.WorkerPool
            dup
            aload 10 /* workerExec */
            aload 11 /* workerPoolMetrics */
            invokespecial io.vertx.core.impl.WorkerPool.<init>:(Ljava/util/concurrent/ExecutorService;Lio/vertx/core/spi/metrics/PoolMetrics;)V
            putfield io.vertx.core.impl.VertxImpl.workerPool:Lio/vertx/core/impl/WorkerPool;
        34: .line 162
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual io.vertx.core.VertxOptions.getWorkerPoolSize:()I
            putfield io.vertx.core.impl.VertxImpl.defaultWorkerPoolSize:I
        35: .line 163
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual io.vertx.core.VertxOptions.getMaxWorkerExecuteTime:()J
            putfield io.vertx.core.impl.VertxImpl.maxWorkerExecTime:J
        36: .line 164
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual io.vertx.core.VertxOptions.getMaxWorkerExecuteTimeUnit:()Ljava/util/concurrent/TimeUnit;
            putfield io.vertx.core.impl.VertxImpl.maxWorkerExecTimeUnit:Ljava/util/concurrent/TimeUnit;
        37: .line 166
            aload 0 /* this */
            aload 4 /* metrics */
            putfield io.vertx.core.impl.VertxImpl.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
        38: .line 167
            aload 0 /* this */
            aload 6 /* transport */
            putfield io.vertx.core.impl.VertxImpl.transport:Lio/vertx/core/net/impl/transport/Transport;
        39: .line 168
            aload 0 /* this */
            aload 7 /* fileResolver */
            putfield io.vertx.core.impl.VertxImpl.fileResolver:Lio/vertx/core/file/impl/FileResolver;
        40: .line 169
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual io.vertx.core.VertxOptions.getAddressResolverOptions:()Lio/vertx/core/dns/AddressResolverOptions;
            putfield io.vertx.core.impl.VertxImpl.addressResolverOptions:Lio/vertx/core/dns/AddressResolverOptions;
        41: .line 170
            aload 0 /* this */
            new io.vertx.core.impl.AddressResolver
            dup
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual io.vertx.core.VertxOptions.getAddressResolverOptions:()Lio/vertx/core/dns/AddressResolverOptions;
            invokespecial io.vertx.core.impl.AddressResolver.<init>:(Lio/vertx/core/Vertx;Lio/vertx/core/dns/AddressResolverOptions;)V
            putfield io.vertx.core.impl.VertxImpl.addressResolver:Lio/vertx/core/impl/AddressResolver;
        42: .line 171
            aload 0 /* this */
            aload 5 /* tracer */
            putfield io.vertx.core.impl.VertxImpl.tracer:Lio/vertx/core/spi/tracing/VertxTracer;
        43: .line 172
            aload 0 /* this */
            aload 2 /* clusterManager */
            putfield io.vertx.core.impl.VertxImpl.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
        44: .line 173
            aload 0 /* this */
            aload 3 /* nodeSelector */
            putfield io.vertx.core.impl.VertxImpl.nodeSelector:Lio/vertx/core/spi/cluster/NodeSelector;
        45: .line 174
            aload 0 /* this */
            aload 2 /* clusterManager */
            ifnull 46
            new io.vertx.core.eventbus.impl.clustered.ClusteredEventBus
            dup
            aload 0 /* this */
            aload 1 /* options */
            aload 2 /* clusterManager */
            aload 3 /* nodeSelector */
            invokespecial io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.<init>:(Lio/vertx/core/impl/VertxInternal;Lio/vertx/core/VertxOptions;Lio/vertx/core/spi/cluster/ClusterManager;Lio/vertx/core/spi/cluster/NodeSelector;)V
            goto 47
      StackMap locals: io.vertx.core.impl.VertxImpl io.vertx.core.VertxOptions io.vertx.core.spi.cluster.ClusterManager io.vertx.core.spi.cluster.NodeSelector io.vertx.core.spi.metrics.VertxMetrics io.vertx.core.spi.tracing.VertxTracer io.vertx.core.net.impl.transport.Transport io.vertx.core.file.impl.FileResolver java.util.concurrent.ThreadFactory int java.util.concurrent.ExecutorService io.vertx.core.spi.metrics.PoolMetrics java.util.concurrent.ExecutorService io.vertx.core.spi.metrics.PoolMetrics
      StackMap stack: io.vertx.core.impl.VertxImpl
        46: new io.vertx.core.eventbus.impl.EventBusImpl
            dup
            aload 0 /* this */
            invokespecial io.vertx.core.eventbus.impl.EventBusImpl.<init>:(Lio/vertx/core/impl/VertxInternal;)V
      StackMap locals: io.vertx.core.impl.VertxImpl io.vertx.core.VertxOptions io.vertx.core.spi.cluster.ClusterManager io.vertx.core.spi.cluster.NodeSelector io.vertx.core.spi.metrics.VertxMetrics io.vertx.core.spi.tracing.VertxTracer io.vertx.core.net.impl.transport.Transport io.vertx.core.file.impl.FileResolver java.util.concurrent.ThreadFactory int java.util.concurrent.ExecutorService io.vertx.core.spi.metrics.PoolMetrics java.util.concurrent.ExecutorService io.vertx.core.spi.metrics.PoolMetrics
      StackMap stack: io.vertx.core.impl.VertxImpl io.vertx.core.eventbus.impl.EventBusImpl
        47: putfield io.vertx.core.impl.VertxImpl.eventBus:Lio/vertx/core/eventbus/impl/EventBusInternal;
        48: .line 175
            aload 0 /* this */
            new io.vertx.core.shareddata.impl.SharedDataImpl
            dup
            aload 0 /* this */
            aload 2 /* clusterManager */
            invokespecial io.vertx.core.shareddata.impl.SharedDataImpl.<init>:(Lio/vertx/core/impl/VertxInternal;Lio/vertx/core/spi/cluster/ClusterManager;)V
            putfield io.vertx.core.impl.VertxImpl.sharedData:Lio/vertx/core/shareddata/SharedData;
        49: .line 176
            aload 0 /* this */
            new io.vertx.core.impl.DeploymentManager
            dup
            aload 0 /* this */
            invokespecial io.vertx.core.impl.DeploymentManager.<init>:(Lio/vertx/core/impl/VertxInternal;)V
            putfield io.vertx.core.impl.VertxImpl.deploymentManager:Lio/vertx/core/impl/DeploymentManager;
        50: .line 177
            aload 0 /* this */
            new io.vertx.core.impl.VerticleManager
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.deploymentManager:Lio/vertx/core/impl/DeploymentManager;
            invokespecial io.vertx.core.impl.VerticleManager.<init>:(Lio/vertx/core/impl/VertxInternal;Lio/vertx/core/impl/DeploymentManager;)V
            putfield io.vertx.core.impl.VertxImpl.verticleManager:Lio/vertx/core/impl/VerticleManager;
        51: .line 178
            return
        end local 13 // io.vertx.core.spi.metrics.PoolMetrics internalBlockingPoolMetrics
        end local 12 // java.util.concurrent.ExecutorService internalBlockingExec
        end local 11 // io.vertx.core.spi.metrics.PoolMetrics workerPoolMetrics
        end local 10 // java.util.concurrent.ExecutorService workerExec
        end local 9 // int workerPoolSize
        end local 8 // java.util.concurrent.ThreadFactory acceptorEventLoopThreadFactory
        end local 7 // io.vertx.core.file.impl.FileResolver fileResolver
        end local 6 // io.vertx.core.net.impl.transport.Transport transport
        end local 5 // io.vertx.core.spi.tracing.VertxTracer tracer
        end local 4 // io.vertx.core.spi.metrics.VertxMetrics metrics
        end local 3 // io.vertx.core.spi.cluster.NodeSelector nodeSelector
        end local 2 // io.vertx.core.spi.cluster.ClusterManager clusterManager
        end local 1 // io.vertx.core.VertxOptions options
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0   52     0                            this  Lio/vertx/core/impl/VertxImpl;
            0   52     1                         options  Lio/vertx/core/VertxOptions;
            0   52     2                  clusterManager  Lio/vertx/core/spi/cluster/ClusterManager;
            0   52     3                    nodeSelector  Lio/vertx/core/spi/cluster/NodeSelector;
            0   52     4                         metrics  Lio/vertx/core/spi/metrics/VertxMetrics;
            0   52     5                          tracer  Lio/vertx/core/spi/tracing/VertxTracer<**>;
            0   52     6                       transport  Lio/vertx/core/net/impl/transport/Transport;
            0   52     7                    fileResolver  Lio/vertx/core/file/impl/FileResolver;
           16   52     8  acceptorEventLoopThreadFactory  Ljava/util/concurrent/ThreadFactory;
           18   52     9                  workerPoolSize  I
           22   52    10                      workerExec  Ljava/util/concurrent/ExecutorService;
           25   52    11               workerPoolMetrics  Lio/vertx/core/spi/metrics/PoolMetrics;
           28   52    12            internalBlockingExec  Ljava/util/concurrent/ExecutorService;
           31   52    13     internalBlockingPoolMetrics  Lio/vertx/core/spi/metrics/PoolMetrics;
    Signature: (Lio/vertx/core/VertxOptions;Lio/vertx/core/spi/cluster/ClusterManager;Lio/vertx/core/spi/cluster/NodeSelector;Lio/vertx/core/spi/metrics/VertxMetrics;Lio/vertx/core/spi/tracing/VertxTracer<**>;Lio/vertx/core/net/impl/transport/Transport;Lio/vertx/core/file/impl/FileResolver;)V
    MethodParameters:
                Name  Flags
      options         
      clusterManager  
      nodeSelector    
      metrics         
      tracer          
      transport       
      fileResolver    

  void init();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 181
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.eventBus:Lio/vertx/core/eventbus/impl/EventBusInternal;
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            invokeinterface io.vertx.core.eventbus.impl.EventBusInternal.start:(Lio/vertx/core/Promise;)V
         1: .line 182
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
            ifnull 3
         2: .line 183
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
            aload 0 /* this */
            invokeinterface io.vertx.core.spi.metrics.VertxMetrics.vertxCreated:(Lio/vertx/core/Vertx;)V
         3: .line 185
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/vertx/core/impl/VertxImpl;

  void initClustered(io.vertx.core.VertxOptions, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.Vertx>>);
    descriptor: (Lio/vertx/core/VertxOptions;Lio/vertx/core/Handler;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.VertxOptions options
        start local 2 // io.vertx.core.Handler resultHandler
         0: .line 188
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.nodeSelector:Lio/vertx/core/spi/cluster/NodeSelector;
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
            invokeinterface io.vertx.core.spi.cluster.NodeSelector.init:(Lio/vertx/core/Vertx;Lio/vertx/core/spi/cluster/ClusterManager;)V
         1: .line 189
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.nodeSelector:Lio/vertx/core/spi/cluster/NodeSelector;
            invokeinterface io.vertx.core.spi.cluster.ClusterManager.init:(Lio/vertx/core/Vertx;Lio/vertx/core/spi/cluster/NodeSelector;)V
         2: .line 190
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
            invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
            astore 3 /* initPromise */
        start local 3 // io.vertx.core.Promise initPromise
         3: .line 191
            aload 3 /* initPromise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            aload 0 /* this */
            aload 2 /* resultHandler */
            invokedynamic handle(Lio/vertx/core/impl/VertxImpl;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/impl/VertxImpl.lambda$0(Lio/vertx/core/Handler;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
         4: .line 202
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 4 /* joinPromise */
        start local 4 // io.vertx.core.Promise joinPromise
         5: .line 203
            aload 4 /* joinPromise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            aload 0 /* this */
            aload 1 /* options */
            aload 3 /* initPromise */
            invokedynamic handle(Lio/vertx/core/impl/VertxImpl;Lio/vertx/core/VertxOptions;Lio/vertx/core/Promise;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/impl/VertxImpl.lambda$2(Lio/vertx/core/VertxOptions;Lio/vertx/core/Promise;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
         6: .line 210
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
            aload 4 /* joinPromise */
            invokeinterface io.vertx.core.spi.cluster.ClusterManager.join:(Lio/vertx/core/Promise;)V
         7: .line 211
            return
        end local 4 // io.vertx.core.Promise joinPromise
        end local 3 // io.vertx.core.Promise initPromise
        end local 2 // io.vertx.core.Handler resultHandler
        end local 1 // io.vertx.core.VertxOptions options
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lio/vertx/core/impl/VertxImpl;
            0    8     1        options  Lio/vertx/core/VertxOptions;
            0    8     2  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/Vertx;>;>;
            3    8     3    initPromise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
            5    8     4    joinPromise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
    Signature: (Lio/vertx/core/VertxOptions;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/Vertx;>;>;)V
    MethodParameters:
               Name  Flags
      options        
      resultHandler  

  private void createHaManager(io.vertx.core.VertxOptions, io.vertx.core.Promise<java.lang.Void>);
    descriptor: (Lio/vertx/core/VertxOptions;Lio/vertx/core/Promise;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.VertxOptions options
        start local 2 // io.vertx.core.Promise initPromise
         0: .line 214
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* options */
            invokedynamic handle(Lio/vertx/core/impl/VertxImpl;Lio/vertx/core/VertxOptions;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/impl/VertxImpl.lambda$3(Lio/vertx/core/VertxOptions;Lio/vertx/core/Promise;)V (7)
                  (Lio/vertx/core/Promise;)V
         1: .line 218
            iconst_0
            aload 0 /* this */
            aload 2 /* initPromise */
            invokedynamic handle(Lio/vertx/core/impl/VertxImpl;Lio/vertx/core/Promise;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/impl/VertxImpl.lambda$4(Lio/vertx/core/Promise;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
         2: .line 214
            invokevirtual io.vertx.core.impl.VertxImpl.executeBlocking:(Lio/vertx/core/Handler;ZLio/vertx/core/Handler;)V
         3: .line 226
            return
        end local 2 // io.vertx.core.Promise initPromise
        end local 1 // io.vertx.core.VertxOptions options
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lio/vertx/core/impl/VertxImpl;
            0    4     1      options  Lio/vertx/core/VertxOptions;
            0    4     2  initPromise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
    Signature: (Lio/vertx/core/VertxOptions;Lio/vertx/core/Promise<Ljava/lang/Void;>;)V
    MethodParameters:
             Name  Flags
      options      
      initPromise  

  private void startEventBus(io.vertx.core.Promise<java.lang.Void>);
    descriptor: (Lio/vertx/core/Promise;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.Promise initPromise
         0: .line 229
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 2 /* promise */
        start local 2 // io.vertx.core.Promise promise
         1: .line 230
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.eventBus:Lio/vertx/core/eventbus/impl/EventBusInternal;
            aload 2 /* promise */
            invokeinterface io.vertx.core.eventbus.impl.EventBusInternal.start:(Lio/vertx/core/Promise;)V
         2: .line 231
            aload 2 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            aload 0 /* this */
            aload 1 /* initPromise */
            invokedynamic handle(Lio/vertx/core/impl/VertxImpl;Lio/vertx/core/Promise;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/impl/VertxImpl.lambda$5(Lio/vertx/core/Promise;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
         3: .line 238
            return
        end local 2 // io.vertx.core.Promise promise
        end local 1 // io.vertx.core.Promise initPromise
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lio/vertx/core/impl/VertxImpl;
            0    4     1  initPromise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
            1    4     2      promise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
    Signature: (Lio/vertx/core/Promise<Ljava/lang/Void;>;)V
    MethodParameters:
             Name  Flags
      initPromise  

  private void initializeHaManager(io.vertx.core.Promise<java.lang.Void>);
    descriptor: (Lio/vertx/core/Promise;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.Promise initPromise
         0: .line 241
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/core/impl/VertxImpl;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/impl/VertxImpl.lambda$6(Lio/vertx/core/Promise;)V (7)
                  (Lio/vertx/core/Promise;)V
         1: .line 247
            iconst_0
            aload 1 /* initPromise */
         2: .line 241
            invokevirtual io.vertx.core.impl.VertxImpl.executeBlocking:(Lio/vertx/core/Handler;ZLio/vertx/core/Handler;)V
         3: .line 248
            return
        end local 1 // io.vertx.core.Promise initPromise
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lio/vertx/core/impl/VertxImpl;
            0    4     1  initPromise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
    Signature: (Lio/vertx/core/Promise<Ljava/lang/Void;>;)V
    MethodParameters:
             Name  Flags
      initPromise  

  protected io.vertx.core.file.FileSystem getFileSystem();
    descriptor: ()Lio/vertx/core/file/FileSystem;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 254
            invokestatic io.vertx.core.impl.Utils.isWindows:()Z
            ifeq 1
            new io.vertx.core.file.impl.WindowsFileSystem
            dup
            aload 0 /* this */
            invokespecial io.vertx.core.file.impl.WindowsFileSystem.<init>:(Lio/vertx/core/impl/VertxInternal;)V
            goto 2
      StackMap locals:
      StackMap stack:
         1: new io.vertx.core.file.impl.FileSystemImpl
            dup
            aload 0 /* this */
            invokespecial io.vertx.core.file.impl.FileSystemImpl.<init>:(Lio/vertx/core/impl/VertxInternal;)V
      StackMap locals:
      StackMap stack: io.vertx.core.file.impl.FileSystemImpl
         2: areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/core/impl/VertxImpl;

  public long maxEventLoopExecTime();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 259
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.maxEventLoopExecTime:J
            lreturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  public java.util.concurrent.TimeUnit maxEventLoopExecTimeUnit();
    descriptor: ()Ljava/util/concurrent/TimeUnit;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 264
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.maxEventLoopExecTimeUnit:Ljava/util/concurrent/TimeUnit;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  public io.vertx.core.datagram.DatagramSocket createDatagramSocket(io.vertx.core.datagram.DatagramSocketOptions);
    descriptor: (Lio/vertx/core/datagram/DatagramSocketOptions;)Lio/vertx/core/datagram/DatagramSocket;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.datagram.DatagramSocketOptions options
         0: .line 269
            aload 0 /* this */
            aload 1 /* options */
            invokestatic io.vertx.core.datagram.impl.DatagramSocketImpl.create:(Lio/vertx/core/impl/VertxInternal;Lio/vertx/core/datagram/DatagramSocketOptions;)Lio/vertx/core/datagram/impl/DatagramSocketImpl;
            areturn
        end local 1 // io.vertx.core.datagram.DatagramSocketOptions options
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/vertx/core/impl/VertxImpl;
            0    1     1  options  Lio/vertx/core/datagram/DatagramSocketOptions;
    MethodParameters:
         Name  Flags
      options  

  public io.vertx.core.datagram.DatagramSocket createDatagramSocket();
    descriptor: ()Lio/vertx/core/datagram/DatagramSocket;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 274
            aload 0 /* this */
            new io.vertx.core.datagram.DatagramSocketOptions
            dup
            invokespecial io.vertx.core.datagram.DatagramSocketOptions.<init>:()V
            invokevirtual io.vertx.core.impl.VertxImpl.createDatagramSocket:(Lio/vertx/core/datagram/DatagramSocketOptions;)Lio/vertx/core/datagram/DatagramSocket;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  public io.vertx.core.net.NetServer createNetServer(io.vertx.core.net.NetServerOptions);
    descriptor: (Lio/vertx/core/net/NetServerOptions;)Lio/vertx/core/net/NetServer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.net.NetServerOptions options
         0: .line 278
            new io.vertx.core.net.impl.NetServerImpl
            dup
            aload 0 /* this */
            aload 1 /* options */
            invokespecial io.vertx.core.net.impl.NetServerImpl.<init>:(Lio/vertx/core/impl/VertxInternal;Lio/vertx/core/net/NetServerOptions;)V
            areturn
        end local 1 // io.vertx.core.net.NetServerOptions options
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/vertx/core/impl/VertxImpl;
            0    1     1  options  Lio/vertx/core/net/NetServerOptions;
    MethodParameters:
         Name  Flags
      options  

  public io.vertx.core.net.NetServer createNetServer();
    descriptor: ()Lio/vertx/core/net/NetServer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 283
            aload 0 /* this */
            new io.vertx.core.net.NetServerOptions
            dup
            invokespecial io.vertx.core.net.NetServerOptions.<init>:()V
            invokevirtual io.vertx.core.impl.VertxImpl.createNetServer:(Lio/vertx/core/net/NetServerOptions;)Lio/vertx/core/net/NetServer;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  public io.vertx.core.net.NetClient createNetClient(io.vertx.core.net.NetClientOptions, io.vertx.core.impl.CloseFuture);
    descriptor: (Lio/vertx/core/net/NetClientOptions;Lio/vertx/core/impl/CloseFuture;)Lio/vertx/core/net/NetClient;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.net.NetClientOptions options
        start local 2 // io.vertx.core.impl.CloseFuture closeFuture
         0: .line 288
            new io.vertx.core.net.impl.NetClientImpl
            dup
            aload 0 /* this */
            aload 1 /* options */
            aload 2 /* closeFuture */
            invokespecial io.vertx.core.net.impl.NetClientImpl.<init>:(Lio/vertx/core/impl/VertxInternal;Lio/vertx/core/net/NetClientOptions;Lio/vertx/core/impl/CloseFuture;)V
            astore 3 /* client */
        start local 3 // io.vertx.core.net.impl.NetClientImpl client
         1: .line 289
            aload 2 /* closeFuture */
            aload 3 /* client */
            invokevirtual io.vertx.core.impl.CloseFuture.init:(Lio/vertx/core/Closeable;)V
         2: .line 290
            aload 3 /* client */
            areturn
        end local 3 // io.vertx.core.net.impl.NetClientImpl client
        end local 2 // io.vertx.core.impl.CloseFuture closeFuture
        end local 1 // io.vertx.core.net.NetClientOptions options
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lio/vertx/core/impl/VertxImpl;
            0    3     1      options  Lio/vertx/core/net/NetClientOptions;
            0    3     2  closeFuture  Lio/vertx/core/impl/CloseFuture;
            1    3     3       client  Lio/vertx/core/net/impl/NetClientImpl;
    MethodParameters:
             Name  Flags
      options      
      closeFuture  

  public io.vertx.core.net.NetClient createNetClient(io.vertx.core.net.NetClientOptions);
    descriptor: (Lio/vertx/core/net/NetClientOptions;)Lio/vertx/core/net/NetClient;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.net.NetClientOptions options
         0: .line 294
            new io.vertx.core.impl.CloseFuture
            dup
            invokespecial io.vertx.core.impl.CloseFuture.<init>:()V
            astore 2 /* closeFuture */
        start local 2 // io.vertx.core.impl.CloseFuture closeFuture
         1: .line 295
            aload 0 /* this */
            aload 1 /* options */
            aload 2 /* closeFuture */
            invokevirtual io.vertx.core.impl.VertxImpl.createNetClient:(Lio/vertx/core/net/NetClientOptions;Lio/vertx/core/impl/CloseFuture;)Lio/vertx/core/net/NetClient;
            astore 3 /* client */
        start local 3 // io.vertx.core.net.NetClient client
         2: .line 296
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.resolveHooks:()Lio/vertx/core/impl/CloseHooks;
            astore 4 /* hooks */
        start local 4 // io.vertx.core.impl.CloseHooks hooks
         3: .line 297
            aload 4 /* hooks */
            aload 2 /* closeFuture */
            invokevirtual io.vertx.core.impl.CloseHooks.add:(Lio/vertx/core/Closeable;)V
         4: .line 298
            aload 3 /* client */
            areturn
        end local 4 // io.vertx.core.impl.CloseHooks hooks
        end local 3 // io.vertx.core.net.NetClient client
        end local 2 // io.vertx.core.impl.CloseFuture closeFuture
        end local 1 // io.vertx.core.net.NetClientOptions options
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lio/vertx/core/impl/VertxImpl;
            0    5     1      options  Lio/vertx/core/net/NetClientOptions;
            1    5     2  closeFuture  Lio/vertx/core/impl/CloseFuture;
            2    5     3       client  Lio/vertx/core/net/NetClient;
            3    5     4        hooks  Lio/vertx/core/impl/CloseHooks;
    MethodParameters:
         Name  Flags
      options  

  public io.vertx.core.net.NetClient createNetClient();
    descriptor: ()Lio/vertx/core/net/NetClient;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 303
            aload 0 /* this */
            new io.vertx.core.net.NetClientOptions
            dup
            invokespecial io.vertx.core.net.NetClientOptions.<init>:()V
            invokevirtual io.vertx.core.impl.VertxImpl.createNetClient:(Lio/vertx/core/net/NetClientOptions;)Lio/vertx/core/net/NetClient;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  public io.vertx.core.net.impl.transport.Transport transport();
    descriptor: ()Lio/vertx/core/net/impl/transport/Transport;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 308
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.transport:Lio/vertx/core/net/impl/transport/Transport;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  public boolean isNativeTransportEnabled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 313
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.transport:Lio/vertx/core/net/impl/transport/Transport;
            getstatic io.vertx.core.net.impl.transport.Transport.JDK:Lio/vertx/core/net/impl/transport/Transport;
            if_acmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/core/impl/VertxImpl;

  public io.vertx.core.file.FileSystem fileSystem();
    descriptor: ()Lio/vertx/core/file/FileSystem;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 317
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.fileSystem:Lio/vertx/core/file/FileSystem;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  public io.vertx.core.shareddata.SharedData sharedData();
    descriptor: ()Lio/vertx/core/shareddata/SharedData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 321
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.sharedData:Lio/vertx/core/shareddata/SharedData;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  public io.vertx.core.http.HttpServer createHttpServer(io.vertx.core.http.HttpServerOptions);
    descriptor: (Lio/vertx/core/http/HttpServerOptions;)Lio/vertx/core/http/HttpServer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.http.HttpServerOptions serverOptions
         0: .line 325
            new io.vertx.core.http.impl.HttpServerImpl
            dup
            aload 0 /* this */
            aload 1 /* serverOptions */
            invokespecial io.vertx.core.http.impl.HttpServerImpl.<init>:(Lio/vertx/core/impl/VertxInternal;Lio/vertx/core/http/HttpServerOptions;)V
            areturn
        end local 1 // io.vertx.core.http.HttpServerOptions serverOptions
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lio/vertx/core/impl/VertxImpl;
            0    1     1  serverOptions  Lio/vertx/core/http/HttpServerOptions;
    MethodParameters:
               Name  Flags
      serverOptions  

  public io.vertx.core.http.HttpServer createHttpServer();
    descriptor: ()Lio/vertx/core/http/HttpServer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 330
            aload 0 /* this */
            new io.vertx.core.http.HttpServerOptions
            dup
            invokespecial io.vertx.core.http.HttpServerOptions.<init>:()V
            invokevirtual io.vertx.core.impl.VertxImpl.createHttpServer:(Lio/vertx/core/http/HttpServerOptions;)Lio/vertx/core/http/HttpServer;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  public io.vertx.core.http.HttpClient createHttpClient(io.vertx.core.http.HttpClientOptions, io.vertx.core.impl.CloseFuture);
    descriptor: (Lio/vertx/core/http/HttpClientOptions;Lio/vertx/core/impl/CloseFuture;)Lio/vertx/core/http/HttpClient;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.http.HttpClientOptions options
        start local 2 // io.vertx.core.impl.CloseFuture closeFuture
         0: .line 335
            new io.vertx.core.http.impl.HttpClientImpl
            dup
            aload 0 /* this */
            aload 1 /* options */
            aload 2 /* closeFuture */
            invokespecial io.vertx.core.http.impl.HttpClientImpl.<init>:(Lio/vertx/core/impl/VertxInternal;Lio/vertx/core/http/HttpClientOptions;Lio/vertx/core/impl/CloseFuture;)V
            astore 3 /* client */
        start local 3 // io.vertx.core.http.impl.HttpClientImpl client
         1: .line 336
            aload 2 /* closeFuture */
            aload 3 /* client */
            invokevirtual io.vertx.core.impl.CloseFuture.init:(Lio/vertx/core/Closeable;)V
         2: .line 337
            aload 3 /* client */
            areturn
        end local 3 // io.vertx.core.http.impl.HttpClientImpl client
        end local 2 // io.vertx.core.impl.CloseFuture closeFuture
        end local 1 // io.vertx.core.http.HttpClientOptions options
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lio/vertx/core/impl/VertxImpl;
            0    3     1      options  Lio/vertx/core/http/HttpClientOptions;
            0    3     2  closeFuture  Lio/vertx/core/impl/CloseFuture;
            1    3     3       client  Lio/vertx/core/http/impl/HttpClientImpl;
    MethodParameters:
             Name  Flags
      options      
      closeFuture  

  public io.vertx.core.http.HttpClient createHttpClient(io.vertx.core.http.HttpClientOptions);
    descriptor: (Lio/vertx/core/http/HttpClientOptions;)Lio/vertx/core/http/HttpClient;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.http.HttpClientOptions options
         0: .line 341
            new io.vertx.core.impl.CloseFuture
            dup
            invokespecial io.vertx.core.impl.CloseFuture.<init>:()V
            astore 2 /* closeFuture */
        start local 2 // io.vertx.core.impl.CloseFuture closeFuture
         1: .line 342
            aload 0 /* this */
            aload 1 /* options */
            aload 2 /* closeFuture */
            invokevirtual io.vertx.core.impl.VertxImpl.createHttpClient:(Lio/vertx/core/http/HttpClientOptions;Lio/vertx/core/impl/CloseFuture;)Lio/vertx/core/http/HttpClient;
            astore 3 /* client */
        start local 3 // io.vertx.core.http.HttpClient client
         2: .line 343
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.resolveHooks:()Lio/vertx/core/impl/CloseHooks;
            astore 4 /* hooks */
        start local 4 // io.vertx.core.impl.CloseHooks hooks
         3: .line 344
            aload 4 /* hooks */
            aload 2 /* closeFuture */
            invokevirtual io.vertx.core.impl.CloseHooks.add:(Lio/vertx/core/Closeable;)V
         4: .line 345
            aload 3 /* client */
            areturn
        end local 4 // io.vertx.core.impl.CloseHooks hooks
        end local 3 // io.vertx.core.http.HttpClient client
        end local 2 // io.vertx.core.impl.CloseFuture closeFuture
        end local 1 // io.vertx.core.http.HttpClientOptions options
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lio/vertx/core/impl/VertxImpl;
            0    5     1      options  Lio/vertx/core/http/HttpClientOptions;
            1    5     2  closeFuture  Lio/vertx/core/impl/CloseFuture;
            2    5     3       client  Lio/vertx/core/http/HttpClient;
            3    5     4        hooks  Lio/vertx/core/impl/CloseHooks;
    MethodParameters:
         Name  Flags
      options  

  public io.vertx.core.http.HttpClient createHttpClient();
    descriptor: ()Lio/vertx/core/http/HttpClient;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 350
            aload 0 /* this */
            new io.vertx.core.http.HttpClientOptions
            dup
            invokespecial io.vertx.core.http.HttpClientOptions.<init>:()V
            invokevirtual io.vertx.core.impl.VertxImpl.createHttpClient:(Lio/vertx/core/http/HttpClientOptions;)Lio/vertx/core/http/HttpClient;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  public io.vertx.core.eventbus.EventBus eventBus();
    descriptor: ()Lio/vertx/core/eventbus/EventBus;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 354
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.eventBus:Lio/vertx/core/eventbus/impl/EventBusInternal;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  public long setPeriodic(long, io.vertx.core.Handler<java.lang.Long>);
    descriptor: (JLio/vertx/core/Handler;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // long delay
        start local 3 // io.vertx.core.Handler handler
         0: .line 358
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
            aload 3 /* handler */
            lload 1 /* delay */
            iconst_1
            invokevirtual io.vertx.core.impl.VertxImpl.scheduleTimeout:(Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/Handler;JZ)J
            lreturn
        end local 3 // io.vertx.core.Handler handler
        end local 1 // long delay
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/vertx/core/impl/VertxImpl;
            0    1     1    delay  J
            0    1     3  handler  Lio/vertx/core/Handler<Ljava/lang/Long;>;
    Signature: (JLio/vertx/core/Handler<Ljava/lang/Long;>;)J
    MethodParameters:
         Name  Flags
      delay    
      handler  

  public io.vertx.core.TimeoutStream periodicStream(long);
    descriptor: (J)Lio/vertx/core/TimeoutStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // long delay
         0: .line 363
            new io.vertx.core.impl.VertxImpl$TimeoutStreamImpl
            dup
            aload 0 /* this */
            lload 1 /* delay */
            iconst_1
            invokespecial io.vertx.core.impl.VertxImpl$TimeoutStreamImpl.<init>:(Lio/vertx/core/impl/VertxImpl;JZ)V
            areturn
        end local 1 // long delay
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lio/vertx/core/impl/VertxImpl;
            0    1     1  delay  J
    MethodParameters:
       Name  Flags
      delay  

  public long setTimer(long, io.vertx.core.Handler<java.lang.Long>);
    descriptor: (JLio/vertx/core/Handler;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // long delay
        start local 3 // io.vertx.core.Handler handler
         0: .line 367
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
            aload 3 /* handler */
            lload 1 /* delay */
            iconst_0
            invokevirtual io.vertx.core.impl.VertxImpl.scheduleTimeout:(Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/Handler;JZ)J
            lreturn
        end local 3 // io.vertx.core.Handler handler
        end local 1 // long delay
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/vertx/core/impl/VertxImpl;
            0    1     1    delay  J
            0    1     3  handler  Lio/vertx/core/Handler<Ljava/lang/Long;>;
    Signature: (JLio/vertx/core/Handler<Ljava/lang/Long;>;)J
    MethodParameters:
         Name  Flags
      delay    
      handler  

  public io.vertx.core.TimeoutStream timerStream(long);
    descriptor: (J)Lio/vertx/core/TimeoutStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // long delay
         0: .line 372
            new io.vertx.core.impl.VertxImpl$TimeoutStreamImpl
            dup
            aload 0 /* this */
            lload 1 /* delay */
            iconst_0
            invokespecial io.vertx.core.impl.VertxImpl$TimeoutStreamImpl.<init>:(Lio/vertx/core/impl/VertxImpl;JZ)V
            areturn
        end local 1 // long delay
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lio/vertx/core/impl/VertxImpl;
            0    1     1  delay  J
    MethodParameters:
       Name  Flags
      delay  

  public <T> io.vertx.core.impl.future.PromiseInternal<T> promise();
    descriptor: ()Lio/vertx/core/impl/future/PromiseInternal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 377
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
            astore 1 /* context */
        start local 1 // io.vertx.core.impl.ContextInternal context
         1: .line 378
            aload 1 /* context */
            invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
            areturn
        end local 1 // io.vertx.core.impl.ContextInternal context
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/core/impl/VertxImpl;
            1    2     1  context  Lio/vertx/core/impl/ContextInternal;
    Signature: <T:Ljava/lang/Object;>()Lio/vertx/core/impl/future/PromiseInternal<TT;>;

  public <T> io.vertx.core.impl.future.PromiseInternal<T> promise(io.vertx.core.Handler<io.vertx.core.AsyncResult<T>>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/impl/future/PromiseInternal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.Handler handler
         0: .line 383
            aload 1 /* handler */
            instanceof io.vertx.core.impl.future.PromiseInternal
            ifeq 2
         1: .line 384
            aload 1 /* handler */
            checkcast io.vertx.core.impl.future.PromiseInternal
            areturn
         2: .line 386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.promise:()Lio/vertx/core/impl/future/PromiseInternal;
            astore 2 /* promise */
        start local 2 // io.vertx.core.impl.future.PromiseInternal promise
         3: .line 387
            aload 2 /* promise */
            invokeinterface io.vertx.core.impl.future.PromiseInternal.future:()Lio/vertx/core/Future;
            aload 1 /* handler */
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         4: .line 388
            aload 2 /* promise */
            areturn
        end local 2 // io.vertx.core.impl.future.PromiseInternal promise
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lio/vertx/core/impl/VertxImpl;
            0    5     1  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;
            3    5     2  promise  Lio/vertx/core/impl/future/PromiseInternal<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;)Lio/vertx/core/impl/future/PromiseInternal<TT;>;
    MethodParameters:
         Name  Flags
      handler  

  public void runOnContext(io.vertx.core.Handler<java.lang.Void>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.Handler task
         0: .line 393
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
            astore 2 /* context */
        start local 2 // io.vertx.core.impl.ContextInternal context
         1: .line 394
            aload 2 /* context */
            aload 1 /* task */
            invokeinterface io.vertx.core.impl.ContextInternal.runOnContext:(Lio/vertx/core/Handler;)V
         2: .line 395
            return
        end local 2 // io.vertx.core.impl.ContextInternal context
        end local 1 // io.vertx.core.Handler task
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/core/impl/VertxImpl;
            0    3     1     task  Lio/vertx/core/Handler<Ljava/lang/Void;>;
            1    3     2  context  Lio/vertx/core/impl/ContextInternal;
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Void;>;)V
    MethodParameters:
      Name  Flags
      task  

  public java.util.concurrent.ExecutorService getWorkerPool();
    descriptor: ()Ljava/util/concurrent/ExecutorService;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 399
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.workerPool:Lio/vertx/core/impl/WorkerPool;
            invokevirtual io.vertx.core.impl.WorkerPool.executor:()Ljava/util/concurrent/ExecutorService;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  public io.netty.channel.EventLoopGroup getEventLoopGroup();
    descriptor: ()Lio/netty/channel/EventLoopGroup;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 403
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.eventLoopGroup:Lio/netty/channel/EventLoopGroup;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  public io.netty.channel.EventLoopGroup getAcceptorEventLoopGroup();
    descriptor: ()Lio/netty/channel/EventLoopGroup;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 407
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.acceptorEventLoopGroup:Lio/netty/channel/EventLoopGroup;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  public io.vertx.core.impl.ContextInternal getOrCreateContext();
    descriptor: ()Lio/vertx/core/impl/ContextInternal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 411
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.getContext:()Lio/vertx/core/impl/AbstractContext;
            astore 1 /* ctx */
        start local 1 // io.vertx.core.impl.AbstractContext ctx
         1: .line 412
            aload 1 /* ctx */
            ifnonnull 4
         2: .line 414
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.createEventLoopContext:()Lio/vertx/core/impl/EventLoopContext;
            astore 1 /* ctx */
         3: .line 415
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.stickyContext:Ljava/lang/ThreadLocal;
            new java.lang.ref.WeakReference
            dup
            aload 1 /* ctx */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         4: .line 417
      StackMap locals: io.vertx.core.impl.AbstractContext
      StackMap stack:
            aload 1 /* ctx */
            areturn
        end local 1 // io.vertx.core.impl.AbstractContext ctx
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/core/impl/VertxImpl;
            1    5     1   ctx  Lio/vertx/core/impl/AbstractContext;

  public java.util.Map<io.vertx.core.net.impl.ServerID, io.vertx.core.http.impl.HttpServerImpl> sharedHttpServers();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 421
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.sharedHttpServers:Ljava/util/Map;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;
    Signature: ()Ljava/util/Map<Lio/vertx/core/net/impl/ServerID;Lio/vertx/core/http/impl/HttpServerImpl;>;

  public java.util.Map<io.vertx.core.net.impl.ServerID, io.vertx.core.net.impl.NetServerImpl> sharedNetServers();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 425
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.sharedNetServers:Ljava/util/Map;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;
    Signature: ()Ljava/util/Map<Lio/vertx/core/net/impl/ServerID;Lio/vertx/core/net/impl/NetServerImpl;>;

  public <S extends io.vertx.core.net.impl.TCPServerBase> java.util.Map<io.vertx.core.net.impl.ServerID, S> sharedTCPServers(java.lang.Class<S>);
    descriptor: (Ljava/lang/Class;)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // java.lang.Class type
         0: .line 430
            aload 1 /* type */
            ldc Lio/vertx/core/net/impl/NetServerImpl;
            if_acmpne 2
         1: .line 431
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.sharedNetServers:Ljava/util/Map;
            areturn
         2: .line 432
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Lio/vertx/core/http/impl/HttpServerImpl;
            if_acmpne 4
         3: .line 433
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.sharedHttpServers:Ljava/util/Map;
            areturn
         4: .line 435
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
        end local 1 // java.lang.Class type
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/core/impl/VertxImpl;
            0    5     1  type  Ljava/lang/Class<TS;>;
    Signature: <S:Lio/vertx/core/net/impl/TCPServerBase;>(Ljava/lang/Class<TS;>;)Ljava/util/Map<Lio/vertx/core/net/impl/ServerID;TS;>;
    MethodParameters:
      Name  Flags
      type  

  public boolean isMetricsEnabled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 441
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/core/impl/VertxImpl;

  public io.vertx.core.spi.metrics.Metrics getMetrics();
    descriptor: ()Lio/vertx/core/spi/metrics/Metrics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 446
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  public boolean cancelTimer(long);
    descriptor: (J)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // long id
         0: .line 450
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.timeouts:Ljava/util/concurrent/ConcurrentMap;
            lload 1 /* id */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.core.impl.VertxImpl$InternalTimerHandler
            astore 3 /* handler */
        start local 3 // io.vertx.core.impl.VertxImpl$InternalTimerHandler handler
         1: .line 451
            aload 3 /* handler */
            ifnull 4
         2: .line 452
            aload 3 /* handler */
            invokevirtual io.vertx.core.impl.VertxImpl$InternalTimerHandler.cancel:()V
         3: .line 453
            iconst_1
            ireturn
         4: .line 455
      StackMap locals: io.vertx.core.impl.VertxImpl$InternalTimerHandler
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // io.vertx.core.impl.VertxImpl$InternalTimerHandler handler
        end local 1 // long id
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lio/vertx/core/impl/VertxImpl;
            0    5     1       id  J
            1    5     3  handler  Lio/vertx/core/impl/VertxImpl$InternalTimerHandler;
    MethodParameters:
      Name  Flags
      id    

  public io.vertx.core.impl.EventLoopContext createEventLoopContext(io.vertx.core.impl.Deployment, io.vertx.core.impl.CloseHooks, io.vertx.core.impl.WorkerPool, java.lang.ClassLoader);
    descriptor: (Lio/vertx/core/impl/Deployment;Lio/vertx/core/impl/CloseHooks;Lio/vertx/core/impl/WorkerPool;Ljava/lang/ClassLoader;)Lio/vertx/core/impl/EventLoopContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=5, args_size=5
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.impl.Deployment deployment
        start local 2 // io.vertx.core.impl.CloseHooks closeHooks
        start local 3 // io.vertx.core.impl.WorkerPool workerPool
        start local 4 // java.lang.ClassLoader tccl
         0: .line 461
            new io.vertx.core.impl.EventLoopContext
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.tracer:Lio/vertx/core/spi/tracing/VertxTracer;
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.eventLoopGroup:Lio/netty/channel/EventLoopGroup;
            invokeinterface io.netty.channel.EventLoopGroup.next:()Lio/netty/channel/EventLoop;
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.internalBlockingPool:Lio/vertx/core/impl/WorkerPool;
            aload 3 /* workerPool */
            ifnull 1
            aload 3 /* workerPool */
            goto 2
      StackMap locals: io.vertx.core.impl.VertxImpl io.vertx.core.impl.Deployment io.vertx.core.impl.CloseHooks io.vertx.core.impl.WorkerPool java.lang.ClassLoader
      StackMap stack: new 0 new 0 io.vertx.core.impl.VertxImpl io.vertx.core.spi.tracing.VertxTracer io.netty.channel.EventLoop io.vertx.core.impl.WorkerPool
         1: aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.workerPool:Lio/vertx/core/impl/WorkerPool;
      StackMap locals: io.vertx.core.impl.VertxImpl io.vertx.core.impl.Deployment io.vertx.core.impl.CloseHooks io.vertx.core.impl.WorkerPool java.lang.ClassLoader
      StackMap stack: new 0 new 0 io.vertx.core.impl.VertxImpl io.vertx.core.spi.tracing.VertxTracer io.netty.channel.EventLoop io.vertx.core.impl.WorkerPool io.vertx.core.impl.WorkerPool
         2: aload 1 /* deployment */
            aload 2 /* closeHooks */
            aload 4 /* tccl */
            invokespecial io.vertx.core.impl.EventLoopContext.<init>:(Lio/vertx/core/impl/VertxInternal;Lio/vertx/core/spi/tracing/VertxTracer;Lio/netty/channel/EventLoop;Lio/vertx/core/impl/WorkerPool;Lio/vertx/core/impl/WorkerPool;Lio/vertx/core/impl/Deployment;Lio/vertx/core/impl/CloseHooks;Ljava/lang/ClassLoader;)V
            areturn
        end local 4 // java.lang.ClassLoader tccl
        end local 3 // io.vertx.core.impl.WorkerPool workerPool
        end local 2 // io.vertx.core.impl.CloseHooks closeHooks
        end local 1 // io.vertx.core.impl.Deployment deployment
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lio/vertx/core/impl/VertxImpl;
            0    3     1  deployment  Lio/vertx/core/impl/Deployment;
            0    3     2  closeHooks  Lio/vertx/core/impl/CloseHooks;
            0    3     3  workerPool  Lio/vertx/core/impl/WorkerPool;
            0    3     4        tccl  Ljava/lang/ClassLoader;
    MethodParameters:
            Name  Flags
      deployment  
      closeHooks  
      workerPool  
      tccl        

  public io.vertx.core.impl.EventLoopContext createEventLoopContext(io.netty.channel.EventLoop, io.vertx.core.impl.WorkerPool, java.lang.ClassLoader);
    descriptor: (Lio/netty/channel/EventLoop;Lio/vertx/core/impl/WorkerPool;Ljava/lang/ClassLoader;)Lio/vertx/core/impl/EventLoopContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=4, args_size=4
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.netty.channel.EventLoop eventLoop
        start local 2 // io.vertx.core.impl.WorkerPool workerPool
        start local 3 // java.lang.ClassLoader tccl
         0: .line 466
            new io.vertx.core.impl.EventLoopContext
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.tracer:Lio/vertx/core/spi/tracing/VertxTracer;
            aload 1 /* eventLoop */
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.internalBlockingPool:Lio/vertx/core/impl/WorkerPool;
            aload 2 /* workerPool */
            ifnull 1
            aload 2 /* workerPool */
            goto 2
      StackMap locals: io.vertx.core.impl.VertxImpl io.netty.channel.EventLoop io.vertx.core.impl.WorkerPool java.lang.ClassLoader
      StackMap stack: new 0 new 0 io.vertx.core.impl.VertxImpl io.vertx.core.spi.tracing.VertxTracer io.netty.channel.EventLoop io.vertx.core.impl.WorkerPool
         1: aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.workerPool:Lio/vertx/core/impl/WorkerPool;
      StackMap locals: io.vertx.core.impl.VertxImpl io.netty.channel.EventLoop io.vertx.core.impl.WorkerPool java.lang.ClassLoader
      StackMap stack: new 0 new 0 io.vertx.core.impl.VertxImpl io.vertx.core.spi.tracing.VertxTracer io.netty.channel.EventLoop io.vertx.core.impl.WorkerPool io.vertx.core.impl.WorkerPool
         2: aconst_null
            aconst_null
            aload 3 /* tccl */
            invokespecial io.vertx.core.impl.EventLoopContext.<init>:(Lio/vertx/core/impl/VertxInternal;Lio/vertx/core/spi/tracing/VertxTracer;Lio/netty/channel/EventLoop;Lio/vertx/core/impl/WorkerPool;Lio/vertx/core/impl/WorkerPool;Lio/vertx/core/impl/Deployment;Lio/vertx/core/impl/CloseHooks;Ljava/lang/ClassLoader;)V
            areturn
        end local 3 // java.lang.ClassLoader tccl
        end local 2 // io.vertx.core.impl.WorkerPool workerPool
        end local 1 // io.netty.channel.EventLoop eventLoop
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lio/vertx/core/impl/VertxImpl;
            0    3     1   eventLoop  Lio/netty/channel/EventLoop;
            0    3     2  workerPool  Lio/vertx/core/impl/WorkerPool;
            0    3     3        tccl  Ljava/lang/ClassLoader;
    MethodParameters:
            Name  Flags
      eventLoop   
      workerPool  
      tccl        

  public io.vertx.core.impl.EventLoopContext createEventLoopContext();
    descriptor: ()Lio/vertx/core/impl/EventLoopContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 471
            aload 0 /* this */
            aconst_null
            aconst_null
            aconst_null
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            invokevirtual io.vertx.core.impl.VertxImpl.createEventLoopContext:(Lio/vertx/core/impl/Deployment;Lio/vertx/core/impl/CloseHooks;Lio/vertx/core/impl/WorkerPool;Ljava/lang/ClassLoader;)Lio/vertx/core/impl/EventLoopContext;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  public io.vertx.core.impl.WorkerContext createWorkerContext(io.vertx.core.impl.Deployment, io.vertx.core.impl.CloseHooks, io.vertx.core.impl.WorkerPool, java.lang.ClassLoader);
    descriptor: (Lio/vertx/core/impl/Deployment;Lio/vertx/core/impl/CloseHooks;Lio/vertx/core/impl/WorkerPool;Ljava/lang/ClassLoader;)Lio/vertx/core/impl/WorkerContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=5, args_size=5
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.impl.Deployment deployment
        start local 2 // io.vertx.core.impl.CloseHooks closeHooks
        start local 3 // io.vertx.core.impl.WorkerPool workerPool
        start local 4 // java.lang.ClassLoader tccl
         0: .line 476
            new io.vertx.core.impl.WorkerContext
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.tracer:Lio/vertx/core/spi/tracing/VertxTracer;
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.internalBlockingPool:Lio/vertx/core/impl/WorkerPool;
            aload 3 /* workerPool */
            ifnull 1
            aload 3 /* workerPool */
            goto 2
      StackMap locals: io.vertx.core.impl.VertxImpl io.vertx.core.impl.Deployment io.vertx.core.impl.CloseHooks io.vertx.core.impl.WorkerPool java.lang.ClassLoader
      StackMap stack: new 0 new 0 io.vertx.core.impl.VertxImpl io.vertx.core.spi.tracing.VertxTracer io.vertx.core.impl.WorkerPool
         1: aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.workerPool:Lio/vertx/core/impl/WorkerPool;
      StackMap locals: io.vertx.core.impl.VertxImpl io.vertx.core.impl.Deployment io.vertx.core.impl.CloseHooks io.vertx.core.impl.WorkerPool java.lang.ClassLoader
      StackMap stack: new 0 new 0 io.vertx.core.impl.VertxImpl io.vertx.core.spi.tracing.VertxTracer io.vertx.core.impl.WorkerPool io.vertx.core.impl.WorkerPool
         2: aload 1 /* deployment */
            aload 2 /* closeHooks */
            aload 4 /* tccl */
            invokespecial io.vertx.core.impl.WorkerContext.<init>:(Lio/vertx/core/impl/VertxInternal;Lio/vertx/core/spi/tracing/VertxTracer;Lio/vertx/core/impl/WorkerPool;Lio/vertx/core/impl/WorkerPool;Lio/vertx/core/impl/Deployment;Lio/vertx/core/impl/CloseHooks;Ljava/lang/ClassLoader;)V
            areturn
        end local 4 // java.lang.ClassLoader tccl
        end local 3 // io.vertx.core.impl.WorkerPool workerPool
        end local 2 // io.vertx.core.impl.CloseHooks closeHooks
        end local 1 // io.vertx.core.impl.Deployment deployment
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lio/vertx/core/impl/VertxImpl;
            0    3     1  deployment  Lio/vertx/core/impl/Deployment;
            0    3     2  closeHooks  Lio/vertx/core/impl/CloseHooks;
            0    3     3  workerPool  Lio/vertx/core/impl/WorkerPool;
            0    3     4        tccl  Ljava/lang/ClassLoader;
    MethodParameters:
            Name  Flags
      deployment  
      closeHooks  
      workerPool  
      tccl        

  public io.vertx.core.impl.WorkerContext createWorkerContext();
    descriptor: ()Lio/vertx/core/impl/WorkerContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 481
            aload 0 /* this */
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            invokevirtual io.vertx.core.impl.VertxImpl.createWorkerContext:(Lio/vertx/core/impl/Deployment;Lio/vertx/core/impl/CloseHooks;Lio/vertx/core/impl/WorkerPool;Ljava/lang/ClassLoader;)Lio/vertx/core/impl/WorkerContext;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  public io.vertx.core.dns.DnsClient createDnsClient(int, java.lang.String);
    descriptor: (ILjava/lang/String;)Lio/vertx/core/dns/DnsClient;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // int port
        start local 2 // java.lang.String host
         0: .line 486
            aload 0 /* this */
            new io.vertx.core.dns.DnsClientOptions
            dup
            invokespecial io.vertx.core.dns.DnsClientOptions.<init>:()V
            aload 2 /* host */
            invokevirtual io.vertx.core.dns.DnsClientOptions.setHost:(Ljava/lang/String;)Lio/vertx/core/dns/DnsClientOptions;
            iload 1 /* port */
            invokevirtual io.vertx.core.dns.DnsClientOptions.setPort:(I)Lio/vertx/core/dns/DnsClientOptions;
            invokevirtual io.vertx.core.impl.VertxImpl.createDnsClient:(Lio/vertx/core/dns/DnsClientOptions;)Lio/vertx/core/dns/DnsClient;
            areturn
        end local 2 // java.lang.String host
        end local 1 // int port
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;
            0    1     1  port  I
            0    1     2  host  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      port  
      host  

  public io.vertx.core.dns.DnsClient createDnsClient();
    descriptor: ()Lio/vertx/core/dns/DnsClient;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 491
            aload 0 /* this */
            new io.vertx.core.dns.DnsClientOptions
            dup
            invokespecial io.vertx.core.dns.DnsClientOptions.<init>:()V
            invokevirtual io.vertx.core.impl.VertxImpl.createDnsClient:(Lio/vertx/core/dns/DnsClientOptions;)Lio/vertx/core/dns/DnsClient;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  public io.vertx.core.dns.DnsClient createDnsClient(io.vertx.core.dns.DnsClientOptions);
    descriptor: (Lio/vertx/core/dns/DnsClientOptions;)Lio/vertx/core/dns/DnsClient;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.dns.DnsClientOptions options
         0: .line 496
            aload 1 /* options */
            invokevirtual io.vertx.core.dns.DnsClientOptions.getHost:()Ljava/lang/String;
            astore 2 /* host */
        start local 2 // java.lang.String host
         1: .line 497
            aload 1 /* options */
            invokevirtual io.vertx.core.dns.DnsClientOptions.getPort:()I
            istore 3 /* port */
        start local 3 // int port
         2: .line 498
            aload 2 /* host */
            ifnull 3
            iload 3 /* port */
            ifge 9
         3: .line 499
      StackMap locals: java.lang.String int
      StackMap stack:
            new io.vertx.core.impl.resolver.DnsResolverProvider
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.addressResolverOptions:Lio/vertx/core/dns/AddressResolverOptions;
            invokespecial io.vertx.core.impl.resolver.DnsResolverProvider.<init>:(Lio/vertx/core/impl/VertxImpl;Lio/vertx/core/dns/AddressResolverOptions;)V
            astore 4 /* provider */
        start local 4 // io.vertx.core.impl.resolver.DnsResolverProvider provider
         4: .line 500
            aload 4 /* provider */
            invokevirtual io.vertx.core.impl.resolver.DnsResolverProvider.nameServerAddresses:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.net.InetSocketAddress
            astore 5 /* address */
        start local 5 // java.net.InetSocketAddress address
         5: .line 502
            new io.vertx.core.dns.DnsClientOptions
            dup
            aload 1 /* options */
            invokespecial io.vertx.core.dns.DnsClientOptions.<init>:(Lio/vertx/core/dns/DnsClientOptions;)V
         6: .line 503
            aload 5 /* address */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
            invokevirtual io.vertx.core.dns.DnsClientOptions.setHost:(Ljava/lang/String;)Lio/vertx/core/dns/DnsClientOptions;
         7: .line 504
            aload 5 /* address */
            invokevirtual java.net.InetSocketAddress.getPort:()I
            invokevirtual io.vertx.core.dns.DnsClientOptions.setPort:(I)Lio/vertx/core/dns/DnsClientOptions;
         8: .line 502
            astore 1 /* options */
        end local 5 // java.net.InetSocketAddress address
        end local 4 // io.vertx.core.impl.resolver.DnsResolverProvider provider
         9: .line 506
      StackMap locals:
      StackMap stack:
            new io.vertx.core.dns.impl.DnsClientImpl
            dup
            aload 0 /* this */
            aload 1 /* options */
            invokespecial io.vertx.core.dns.impl.DnsClientImpl.<init>:(Lio/vertx/core/impl/VertxInternal;Lio/vertx/core/dns/DnsClientOptions;)V
            areturn
        end local 3 // int port
        end local 2 // java.lang.String host
        end local 1 // io.vertx.core.dns.DnsClientOptions options
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lio/vertx/core/impl/VertxImpl;
            0   10     1   options  Lio/vertx/core/dns/DnsClientOptions;
            1   10     2      host  Ljava/lang/String;
            2   10     3      port  I
            4    9     4  provider  Lio/vertx/core/impl/resolver/DnsResolverProvider;
            5    9     5   address  Ljava/net/InetSocketAddress;
    MethodParameters:
         Name  Flags
      options  

  public long scheduleTimeout(io.vertx.core.impl.ContextInternal, io.vertx.core.Handler<java.lang.Long>, long, );
    descriptor: (Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/Handler;JZ)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=9, args_size=5
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.impl.ContextInternal context
        start local 2 // io.vertx.core.Handler handler
        start local 3 // long delay
        start local 5 // boolean periodic
         0: .line 510
            lload 3 /* delay */
            lconst_1
            lcmp
            ifge 2
         1: .line 511
            new java.lang.IllegalArgumentException
            dup
            ldc "Cannot schedule a timer with delay < 1 ms"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 513
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.timeoutCounter:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.getAndIncrement:()J
            lstore 6 /* timerId */
        start local 6 // long timerId
         3: .line 514
            new io.vertx.core.impl.VertxImpl$InternalTimerHandler
            dup
            aload 0 /* this */
            lload 6 /* timerId */
            aload 2 /* handler */
            iload 5 /* periodic */
            lload 3 /* delay */
            aload 1 /* context */
            invokespecial io.vertx.core.impl.VertxImpl$InternalTimerHandler.<init>:(Lio/vertx/core/impl/VertxImpl;JLio/vertx/core/Handler;ZJLio/vertx/core/impl/ContextInternal;)V
            astore 8 /* task */
        start local 8 // io.vertx.core.impl.VertxImpl$InternalTimerHandler task
         4: .line 515
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.timeouts:Ljava/util/concurrent/ConcurrentMap;
            lload 6 /* timerId */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aload 8 /* task */
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 516
            aload 1 /* context */
            invokeinterface io.vertx.core.impl.ContextInternal.isDeployment:()Z
            ifeq 7
         6: .line 517
            aload 1 /* context */
            aload 8 /* task */
            invokeinterface io.vertx.core.impl.ContextInternal.addCloseHook:(Lio/vertx/core/Closeable;)V
         7: .line 519
      StackMap locals: long io.vertx.core.impl.VertxImpl$InternalTimerHandler
      StackMap stack:
            lload 6 /* timerId */
            lreturn
        end local 8 // io.vertx.core.impl.VertxImpl$InternalTimerHandler task
        end local 6 // long timerId
        end local 5 // boolean periodic
        end local 3 // long delay
        end local 2 // io.vertx.core.Handler handler
        end local 1 // io.vertx.core.impl.ContextInternal context
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lio/vertx/core/impl/VertxImpl;
            0    8     1   context  Lio/vertx/core/impl/ContextInternal;
            0    8     2   handler  Lio/vertx/core/Handler<Ljava/lang/Long;>;
            0    8     3     delay  J
            0    8     5  periodic  Z
            3    8     6   timerId  J
            4    8     8      task  Lio/vertx/core/impl/VertxImpl$InternalTimerHandler;
    Signature: (Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/Handler<Ljava/lang/Long;>;JZ)J
    MethodParameters:
          Name  Flags
      context   
      handler   
      delay     
      periodic  

  public io.vertx.core.impl.AbstractContext getContext();
    descriptor: ()Lio/vertx/core/impl/AbstractContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 523
            invokestatic io.vertx.core.impl.ContextInternal.current:()Lio/vertx/core/impl/ContextInternal;
            checkcast io.vertx.core.impl.AbstractContext
            astore 1 /* context */
        start local 1 // io.vertx.core.impl.AbstractContext context
         1: .line 524
            aload 1 /* context */
            ifnull 3
            aload 1 /* context */
            invokevirtual io.vertx.core.impl.AbstractContext.owner:()Lio/vertx/core/impl/VertxInternal;
            aload 0 /* this */
            if_acmpne 3
         2: .line 525
            aload 1 /* context */
            areturn
         3: .line 527
      StackMap locals: io.vertx.core.impl.AbstractContext
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.stickyContext:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.lang.ref.WeakReference
            astore 2 /* ref */
        start local 2 // java.lang.ref.WeakReference ref
         4: .line 528
            aload 2 /* ref */
            ifnull 5
            aload 2 /* ref */
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast io.vertx.core.impl.AbstractContext
            goto 6
      StackMap locals: java.lang.ref.WeakReference
      StackMap stack:
         5: aconst_null
      StackMap locals:
      StackMap stack: io.vertx.core.impl.AbstractContext
         6: areturn
        end local 2 // java.lang.ref.WeakReference ref
        end local 1 // io.vertx.core.impl.AbstractContext context
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lio/vertx/core/impl/VertxImpl;
            1    7     1  context  Lio/vertx/core/impl/AbstractContext;
            4    7     2      ref  Ljava/lang/ref/WeakReference<Lio/vertx/core/impl/AbstractContext;>;

  public io.vertx.core.spi.cluster.ClusterManager getClusterManager();
    descriptor: ()Lio/vertx/core/spi/cluster/ClusterManager;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 533
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  public io.vertx.core.Future<java.lang.Void> close();
    descriptor: ()Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 539
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 1 /* promise */
        start local 1 // io.vertx.core.Promise promise
         1: .line 540
            aload 0 /* this */
            aload 1 /* promise */
            invokevirtual io.vertx.core.impl.VertxImpl.close:(Lio/vertx/core/Handler;)V
         2: .line 541
            aload 1 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 1 // io.vertx.core.Promise promise
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/core/impl/VertxImpl;
            1    3     1  promise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
    Signature: ()Lio/vertx/core/Future<Ljava/lang/Void;>;

  private void closeClusterManager(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.Handler completionHandler
         0: .line 545
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
            invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
            astore 2 /* leavePromise */
        start local 2 // io.vertx.core.Promise leavePromise
         1: .line 546
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
            ifnull 4
         2: .line 547
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
            aload 2 /* leavePromise */
            invokeinterface io.vertx.core.spi.cluster.ClusterManager.leave:(Lio/vertx/core/Promise;)V
         3: .line 548
            goto 5
         4: .line 549
      StackMap locals: io.vertx.core.Promise
      StackMap stack:
            aload 2 /* leavePromise */
            invokeinterface io.vertx.core.Promise.complete:()V
         5: .line 551
      StackMap locals:
      StackMap stack:
            aload 2 /* leavePromise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            aload 1 /* completionHandler */
            invokedynamic handle(Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/impl/VertxImpl.lambda$7(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         6: .line 559
            return
        end local 2 // io.vertx.core.Promise leavePromise
        end local 1 // io.vertx.core.Handler completionHandler
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Lio/vertx/core/impl/VertxImpl;
            0    7     1  completionHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
            1    7     2       leavePromise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
                   Name  Flags
      completionHandler  

  public synchronized void close(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.Handler completionHandler
         0: .line 563
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.closed:Z
            ifne 1
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.eventBus:Lio/vertx/core/eventbus/impl/EventBusInternal;
            ifnonnull 4
         1: .line 565
      StackMap locals:
      StackMap stack:
            aload 1 /* completionHandler */
            ifnull 3
         2: .line 566
            aload 1 /* completionHandler */
            invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         3: .line 568
      StackMap locals:
      StackMap stack:
            return
         4: .line 570
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.vertx.core.impl.VertxImpl.closed:Z
         5: .line 571
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.closeHooks:Lio/vertx/core/impl/CloseHooks;
            aload 0 /* this */
            aload 1 /* completionHandler */
            invokedynamic handle(Lio/vertx/core/impl/VertxImpl;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/impl/VertxImpl.lambda$8(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokevirtual io.vertx.core.impl.CloseHooks.run:(Lio/vertx/core/Handler;)V
         6: .line 597
            return
        end local 1 // io.vertx.core.Handler completionHandler
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Lio/vertx/core/impl/VertxImpl;
            0    7     1  completionHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
                   Name  Flags
      completionHandler  

  public io.vertx.core.Future<java.lang.String> deployVerticle(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // java.lang.String name
         0: .line 601
            aload 0 /* this */
            aload 1 /* name */
            new io.vertx.core.DeploymentOptions
            dup
            invokespecial io.vertx.core.DeploymentOptions.<init>:()V
            invokevirtual io.vertx.core.impl.VertxImpl.deployVerticle:(Ljava/lang/String;Lio/vertx/core/DeploymentOptions;)Lio/vertx/core/Future;
            areturn
        end local 1 // java.lang.String name
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;
            0    1     1  name  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Lio/vertx/core/Future<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      name  

  public void deployVerticle(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.String>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // java.lang.String name
        start local 2 // io.vertx.core.Handler completionHandler
         0: .line 606
            aload 0 /* this */
            aload 1 /* name */
            new io.vertx.core.DeploymentOptions
            dup
            invokespecial io.vertx.core.DeploymentOptions.<init>:()V
            aload 2 /* completionHandler */
            invokevirtual io.vertx.core.impl.VertxImpl.deployVerticle:(Ljava/lang/String;Lio/vertx/core/DeploymentOptions;Lio/vertx/core/Handler;)V
         1: .line 607
            return
        end local 2 // io.vertx.core.Handler completionHandler
        end local 1 // java.lang.String name
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lio/vertx/core/impl/VertxImpl;
            0    2     1               name  Ljava/lang/String;
            0    2     2  completionHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;)V
    MethodParameters:
                   Name  Flags
      name               
      completionHandler  

  public io.vertx.core.Future<java.lang.String> deployVerticle(java.lang.String, io.vertx.core.DeploymentOptions);
    descriptor: (Ljava/lang/String;Lio/vertx/core/DeploymentOptions;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // java.lang.String name
        start local 2 // io.vertx.core.DeploymentOptions options
         0: .line 611
            aload 2 /* options */
            invokevirtual io.vertx.core.DeploymentOptions.isHa:()Z
            ifeq 4
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.haManager:()Lio/vertx/core/impl/HAManager;
            ifnull 4
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.haManager:()Lio/vertx/core/impl/HAManager;
            invokevirtual io.vertx.core.impl.HAManager.isEnabled:()Z
            ifeq 4
         1: .line 612
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
            invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
            astore 3 /* promise */
        start local 3 // io.vertx.core.Promise promise
         2: .line 613
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.haManager:()Lio/vertx/core/impl/HAManager;
            aload 1 /* name */
            aload 2 /* options */
            aload 3 /* promise */
            invokevirtual io.vertx.core.impl.HAManager.deployVerticle:(Ljava/lang/String;Lio/vertx/core/DeploymentOptions;Lio/vertx/core/Handler;)V
         3: .line 614
            aload 3 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 3 // io.vertx.core.Promise promise
         4: .line 616
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.verticleManager:Lio/vertx/core/impl/VerticleManager;
            aload 1 /* name */
            aload 2 /* options */
            invokevirtual io.vertx.core.impl.VerticleManager.deployVerticle:(Ljava/lang/String;Lio/vertx/core/DeploymentOptions;)Lio/vertx/core/Future;
            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;
                  io/vertx/core/impl/Deployment.deploymentID()Ljava/lang/String; (9 itf)
                  (Lio/vertx/core/impl/Deployment;)Ljava/lang/String;
            invokeinterface io.vertx.core.Future.map:(Ljava/util/function/Function;)Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.DeploymentOptions options
        end local 1 // java.lang.String name
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lio/vertx/core/impl/VertxImpl;
            0    5     1     name  Ljava/lang/String;
            0    5     2  options  Lio/vertx/core/DeploymentOptions;
            2    4     3  promise  Lio/vertx/core/Promise<Ljava/lang/String;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/DeploymentOptions;)Lio/vertx/core/Future<Ljava/lang/String;>;
    MethodParameters:
         Name  Flags
      name     
      options  

  public void deployVerticle(java.lang.String, io.vertx.core.DeploymentOptions, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.String>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/DeploymentOptions;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // java.lang.String name
        start local 2 // io.vertx.core.DeploymentOptions options
        start local 3 // io.vertx.core.Handler completionHandler
         0: .line 622
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* options */
            invokevirtual io.vertx.core.impl.VertxImpl.deployVerticle:(Ljava/lang/String;Lio/vertx/core/DeploymentOptions;)Lio/vertx/core/Future;
            astore 4 /* fut */
        start local 4 // io.vertx.core.Future fut
         1: .line 623
            aload 3 /* completionHandler */
            ifnull 3
         2: .line 624
            aload 4 /* fut */
            aload 3 /* completionHandler */
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         3: .line 626
      StackMap locals: io.vertx.core.Future
      StackMap stack:
            return
        end local 4 // io.vertx.core.Future fut
        end local 3 // io.vertx.core.Handler completionHandler
        end local 2 // io.vertx.core.DeploymentOptions options
        end local 1 // java.lang.String name
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lio/vertx/core/impl/VertxImpl;
            0    4     1               name  Ljava/lang/String;
            0    4     2            options  Lio/vertx/core/DeploymentOptions;
            0    4     3  completionHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;
            1    4     4                fut  Lio/vertx/core/Future<Ljava/lang/String;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/DeploymentOptions;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;)V
    MethodParameters:
                   Name  Flags
      name               
      options            
      completionHandler  

  public io.vertx.core.Future<java.lang.String> deployVerticle(io.vertx.core.Verticle);
    descriptor: (Lio/vertx/core/Verticle;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.Verticle verticle
         0: .line 630
            aload 0 /* this */
            aload 1 /* verticle */
            new io.vertx.core.DeploymentOptions
            dup
            invokespecial io.vertx.core.DeploymentOptions.<init>:()V
            invokevirtual io.vertx.core.impl.VertxImpl.deployVerticle:(Lio/vertx/core/Verticle;Lio/vertx/core/DeploymentOptions;)Lio/vertx/core/Future;
            areturn
        end local 1 // io.vertx.core.Verticle verticle
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/vertx/core/impl/VertxImpl;
            0    1     1  verticle  Lio/vertx/core/Verticle;
    Signature: (Lio/vertx/core/Verticle;)Lio/vertx/core/Future<Ljava/lang/String;>;
    MethodParameters:
          Name  Flags
      verticle  

  public void deployVerticle(io.vertx.core.Verticle, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.String>>);
    descriptor: (Lio/vertx/core/Verticle;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.Verticle verticle
        start local 2 // io.vertx.core.Handler completionHandler
         0: .line 635
            aload 0 /* this */
            aload 1 /* verticle */
            invokevirtual io.vertx.core.impl.VertxImpl.deployVerticle:(Lio/vertx/core/Verticle;)Lio/vertx/core/Future;
            astore 3 /* fut */
        start local 3 // io.vertx.core.Future fut
         1: .line 636
            aload 2 /* completionHandler */
            ifnull 3
         2: .line 637
            aload 3 /* fut */
            aload 2 /* completionHandler */
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         3: .line 639
      StackMap locals: io.vertx.core.Future
      StackMap stack:
            return
        end local 3 // io.vertx.core.Future fut
        end local 2 // io.vertx.core.Handler completionHandler
        end local 1 // io.vertx.core.Verticle verticle
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lio/vertx/core/impl/VertxImpl;
            0    4     1           verticle  Lio/vertx/core/Verticle;
            0    4     2  completionHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;
            1    4     3                fut  Lio/vertx/core/Future<Ljava/lang/String;>;
    Signature: (Lio/vertx/core/Verticle;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;)V
    MethodParameters:
                   Name  Flags
      verticle           
      completionHandler  

  public io.vertx.core.Future<java.lang.String> deployVerticle(io.vertx.core.Verticle, io.vertx.core.DeploymentOptions);
    descriptor: (Lio/vertx/core/Verticle;Lio/vertx/core/DeploymentOptions;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.Verticle verticle
        start local 2 // io.vertx.core.DeploymentOptions options
         0: .line 643
            aload 2 /* options */
            invokevirtual io.vertx.core.DeploymentOptions.getInstances:()I
            iconst_1
            if_icmpeq 2
         1: .line 644
            new java.lang.IllegalArgumentException
            dup
            ldc "Can't specify > 1 instances for already created verticle"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 646
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* verticle */
            invokedynamic call(Lio/vertx/core/Verticle;)Ljava/util/concurrent/Callable;
              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/core/impl/VertxImpl.lambda$16(Lio/vertx/core/Verticle;)Lio/vertx/core/Verticle; (6)
                  ()Lio/vertx/core/Verticle;
            aload 2 /* options */
            invokevirtual io.vertx.core.impl.VertxImpl.deployVerticle:(Ljava/util/concurrent/Callable;Lio/vertx/core/DeploymentOptions;)Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.DeploymentOptions options
        end local 1 // io.vertx.core.Verticle verticle
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lio/vertx/core/impl/VertxImpl;
            0    3     1  verticle  Lio/vertx/core/Verticle;
            0    3     2   options  Lio/vertx/core/DeploymentOptions;
    Signature: (Lio/vertx/core/Verticle;Lio/vertx/core/DeploymentOptions;)Lio/vertx/core/Future<Ljava/lang/String;>;
    MethodParameters:
          Name  Flags
      verticle  
      options   

  public void deployVerticle(io.vertx.core.Verticle, io.vertx.core.DeploymentOptions, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.String>>);
    descriptor: (Lio/vertx/core/Verticle;Lio/vertx/core/DeploymentOptions;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.Verticle verticle
        start local 2 // io.vertx.core.DeploymentOptions options
        start local 3 // io.vertx.core.Handler completionHandler
         0: .line 651
            aload 0 /* this */
            aload 1 /* verticle */
            aload 2 /* options */
            invokevirtual io.vertx.core.impl.VertxImpl.deployVerticle:(Lio/vertx/core/Verticle;Lio/vertx/core/DeploymentOptions;)Lio/vertx/core/Future;
            astore 4 /* fut */
        start local 4 // io.vertx.core.Future fut
         1: .line 652
            aload 3 /* completionHandler */
            ifnull 3
         2: .line 653
            aload 4 /* fut */
            aload 3 /* completionHandler */
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         3: .line 655
      StackMap locals: io.vertx.core.Future
      StackMap stack:
            return
        end local 4 // io.vertx.core.Future fut
        end local 3 // io.vertx.core.Handler completionHandler
        end local 2 // io.vertx.core.DeploymentOptions options
        end local 1 // io.vertx.core.Verticle verticle
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lio/vertx/core/impl/VertxImpl;
            0    4     1           verticle  Lio/vertx/core/Verticle;
            0    4     2            options  Lio/vertx/core/DeploymentOptions;
            0    4     3  completionHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;
            1    4     4                fut  Lio/vertx/core/Future<Ljava/lang/String;>;
    Signature: (Lio/vertx/core/Verticle;Lio/vertx/core/DeploymentOptions;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;)V
    MethodParameters:
                   Name  Flags
      verticle           
      options            
      completionHandler  

  public io.vertx.core.Future<java.lang.String> deployVerticle(java.lang.Class<? extends io.vertx.core.Verticle>, io.vertx.core.DeploymentOptions);
    descriptor: (Ljava/lang/Class;Lio/vertx/core/DeploymentOptions;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // java.lang.Class verticleClass
        start local 2 // io.vertx.core.DeploymentOptions options
         0: .line 659
            aload 0 /* this */
            aload 1 /* verticleClass */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic call(Ljava/lang/Class;)Ljava/util/concurrent/Callable;
              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;
                  java/lang/Class.newInstance()Ljava/lang/Object; (5)
                  ()Lio/vertx/core/Verticle;
            aload 2 /* options */
            invokevirtual io.vertx.core.impl.VertxImpl.deployVerticle:(Ljava/util/concurrent/Callable;Lio/vertx/core/DeploymentOptions;)Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.DeploymentOptions options
        end local 1 // java.lang.Class verticleClass
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lio/vertx/core/impl/VertxImpl;
            0    1     1  verticleClass  Ljava/lang/Class<+Lio/vertx/core/Verticle;>;
            0    1     2        options  Lio/vertx/core/DeploymentOptions;
    Signature: (Ljava/lang/Class<+Lio/vertx/core/Verticle;>;Lio/vertx/core/DeploymentOptions;)Lio/vertx/core/Future<Ljava/lang/String;>;
    MethodParameters:
               Name  Flags
      verticleClass  
      options        

  public void deployVerticle(java.lang.Class<? extends io.vertx.core.Verticle>, io.vertx.core.DeploymentOptions, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.String>>);
    descriptor: (Ljava/lang/Class;Lio/vertx/core/DeploymentOptions;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // java.lang.Class verticleClass
        start local 2 // io.vertx.core.DeploymentOptions options
        start local 3 // io.vertx.core.Handler completionHandler
         0: .line 664
            aload 0 /* this */
            aload 1 /* verticleClass */
            aload 2 /* options */
            invokevirtual io.vertx.core.impl.VertxImpl.deployVerticle:(Ljava/lang/Class;Lio/vertx/core/DeploymentOptions;)Lio/vertx/core/Future;
            astore 4 /* fut */
        start local 4 // io.vertx.core.Future fut
         1: .line 665
            aload 3 /* completionHandler */
            ifnull 3
         2: .line 666
            aload 4 /* fut */
            aload 3 /* completionHandler */
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         3: .line 668
      StackMap locals: io.vertx.core.Future
      StackMap stack:
            return
        end local 4 // io.vertx.core.Future fut
        end local 3 // io.vertx.core.Handler completionHandler
        end local 2 // io.vertx.core.DeploymentOptions options
        end local 1 // java.lang.Class verticleClass
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lio/vertx/core/impl/VertxImpl;
            0    4     1      verticleClass  Ljava/lang/Class<+Lio/vertx/core/Verticle;>;
            0    4     2            options  Lio/vertx/core/DeploymentOptions;
            0    4     3  completionHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;
            1    4     4                fut  Lio/vertx/core/Future<Ljava/lang/String;>;
    Signature: (Ljava/lang/Class<+Lio/vertx/core/Verticle;>;Lio/vertx/core/DeploymentOptions;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;)V
    MethodParameters:
                   Name  Flags
      verticleClass      
      options            
      completionHandler  

  public io.vertx.core.Future<java.lang.String> deployVerticle(java.util.function.Supplier<io.vertx.core.Verticle>, io.vertx.core.DeploymentOptions);
    descriptor: (Ljava/util/function/Supplier;Lio/vertx/core/DeploymentOptions;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // java.util.function.Supplier verticleSupplier
        start local 2 // io.vertx.core.DeploymentOptions options
         0: .line 672
            aload 0 /* this */
            aload 1 /* verticleSupplier */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic call(Ljava/util/function/Supplier;)Ljava/util/concurrent/Callable;
              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;
                  java/util/function/Supplier.get()Ljava/lang/Object; (9 itf)
                  ()Lio/vertx/core/Verticle;
            aload 2 /* options */
            invokevirtual io.vertx.core.impl.VertxImpl.deployVerticle:(Ljava/util/concurrent/Callable;Lio/vertx/core/DeploymentOptions;)Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.DeploymentOptions options
        end local 1 // java.util.function.Supplier verticleSupplier
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lio/vertx/core/impl/VertxImpl;
            0    1     1  verticleSupplier  Ljava/util/function/Supplier<Lio/vertx/core/Verticle;>;
            0    1     2           options  Lio/vertx/core/DeploymentOptions;
    Signature: (Ljava/util/function/Supplier<Lio/vertx/core/Verticle;>;Lio/vertx/core/DeploymentOptions;)Lio/vertx/core/Future<Ljava/lang/String;>;
    MethodParameters:
                  Name  Flags
      verticleSupplier  
      options           

  public void deployVerticle(java.util.function.Supplier<io.vertx.core.Verticle>, io.vertx.core.DeploymentOptions, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.String>>);
    descriptor: (Ljava/util/function/Supplier;Lio/vertx/core/DeploymentOptions;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // java.util.function.Supplier verticleSupplier
        start local 2 // io.vertx.core.DeploymentOptions options
        start local 3 // io.vertx.core.Handler completionHandler
         0: .line 677
            aload 0 /* this */
            aload 1 /* verticleSupplier */
            aload 2 /* options */
            invokevirtual io.vertx.core.impl.VertxImpl.deployVerticle:(Ljava/util/function/Supplier;Lio/vertx/core/DeploymentOptions;)Lio/vertx/core/Future;
            astore 4 /* fut */
        start local 4 // io.vertx.core.Future fut
         1: .line 678
            aload 3 /* completionHandler */
            ifnull 3
         2: .line 679
            aload 4 /* fut */
            aload 3 /* completionHandler */
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         3: .line 681
      StackMap locals: io.vertx.core.Future
      StackMap stack:
            return
        end local 4 // io.vertx.core.Future fut
        end local 3 // io.vertx.core.Handler completionHandler
        end local 2 // io.vertx.core.DeploymentOptions options
        end local 1 // java.util.function.Supplier verticleSupplier
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lio/vertx/core/impl/VertxImpl;
            0    4     1   verticleSupplier  Ljava/util/function/Supplier<Lio/vertx/core/Verticle;>;
            0    4     2            options  Lio/vertx/core/DeploymentOptions;
            0    4     3  completionHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;
            1    4     4                fut  Lio/vertx/core/Future<Ljava/lang/String;>;
    Signature: (Ljava/util/function/Supplier<Lio/vertx/core/Verticle;>;Lio/vertx/core/DeploymentOptions;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;)V
    MethodParameters:
                   Name  Flags
      verticleSupplier   
      options            
      completionHandler  

  private io.vertx.core.Future<java.lang.String> deployVerticle(java.util.concurrent.Callable<io.vertx.core.Verticle>, io.vertx.core.DeploymentOptions);
    descriptor: (Ljava/util/concurrent/Callable;Lio/vertx/core/DeploymentOptions;)Lio/vertx/core/Future;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // java.util.concurrent.Callable verticleSupplier
        start local 2 // io.vertx.core.DeploymentOptions options
         0: .line 685
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         1: .line 686
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.closed:Z
            istore 3 /* closed */
        start local 3 // boolean closed
         2: .line 685
            aload 4
            monitorexit
         3: goto 6
        end local 3 // boolean closed
      StackMap locals: io.vertx.core.impl.VertxImpl java.util.concurrent.Callable io.vertx.core.DeploymentOptions top io.vertx.core.impl.VertxImpl
      StackMap stack: java.lang.Throwable
         4: aload 4
            monitorexit
         5: athrow
        start local 3 // boolean closed
         6: .line 688
      StackMap locals: io.vertx.core.impl.VertxImpl java.util.concurrent.Callable io.vertx.core.DeploymentOptions int
      StackMap stack:
            iload 3 /* closed */
            ifeq 8
         7: .line 690
            ldc "Vert.x closed"
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
            areturn
         8: .line 692
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.deploymentManager:Lio/vertx/core/impl/DeploymentManager;
            aload 1 /* verticleSupplier */
            aload 2 /* options */
            invokevirtual io.vertx.core.impl.DeploymentManager.deployVerticle:(Ljava/util/concurrent/Callable;Lio/vertx/core/DeploymentOptions;)Lio/vertx/core/Future;
            areturn
        end local 3 // boolean closed
        end local 2 // io.vertx.core.DeploymentOptions options
        end local 1 // java.util.concurrent.Callable verticleSupplier
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Lio/vertx/core/impl/VertxImpl;
            0    9     1  verticleSupplier  Ljava/util/concurrent/Callable<Lio/vertx/core/Verticle;>;
            0    9     2           options  Lio/vertx/core/DeploymentOptions;
            2    4     3            closed  Z
            6    9     3            closed  Z
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    Signature: (Ljava/util/concurrent/Callable<Lio/vertx/core/Verticle;>;Lio/vertx/core/DeploymentOptions;)Lio/vertx/core/Future<Ljava/lang/String;>;
    MethodParameters:
                  Name  Flags
      verticleSupplier  
      options           

  public io.vertx.core.Future<java.lang.Void> undeploy(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // java.lang.String deploymentID
         0: .line 699
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.haManager:()Lio/vertx/core/impl/HAManager;
            astore 3 /* haManager */
        start local 3 // io.vertx.core.impl.HAManager haManager
         1: .line 700
            aload 3 /* haManager */
            ifnull 6
            aload 3 /* haManager */
            invokevirtual io.vertx.core.impl.HAManager.isEnabled:()Z
            ifeq 6
         2: .line 701
            aload 0 /* this */
            aload 3 /* haManager */
            aload 1 /* deploymentID */
            invokedynamic handle(Lio/vertx/core/impl/HAManager;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/core/impl/VertxImpl.lambda$19(Lio/vertx/core/impl/HAManager;Ljava/lang/String;Lio/vertx/core/Promise;)V (6)
                  (Lio/vertx/core/Promise;)V
         3: .line 704
            iconst_0
         4: .line 701
            invokevirtual io.vertx.core.impl.VertxImpl.executeBlocking:(Lio/vertx/core/Handler;Z)Lio/vertx/core/Future;
            astore 2 /* future */
        start local 2 // io.vertx.core.Future future
         5: .line 705
            goto 7
        end local 2 // io.vertx.core.Future future
         6: .line 706
      StackMap locals: io.vertx.core.impl.VertxImpl java.lang.String top io.vertx.core.impl.HAManager
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
            invokeinterface io.vertx.core.impl.ContextInternal.succeededFuture:()Lio/vertx/core/Future;
            astore 2 /* future */
        start local 2 // io.vertx.core.Future future
         7: .line 708
      StackMap locals: io.vertx.core.impl.VertxImpl java.lang.String io.vertx.core.Future io.vertx.core.impl.HAManager
      StackMap stack:
            aload 2 /* future */
            aload 0 /* this */
            aload 1 /* deploymentID */
            invokedynamic apply(Lio/vertx/core/impl/VertxImpl;Ljava/lang/String;)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;
                  io/vertx/core/impl/VertxImpl.lambda$20(Ljava/lang/String;Ljava/lang/Void;)Lio/vertx/core/Future; (7)
                  (Ljava/lang/Void;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Future.compose:(Ljava/util/function/Function;)Lio/vertx/core/Future;
            areturn
        end local 3 // io.vertx.core.impl.HAManager haManager
        end local 2 // io.vertx.core.Future future
        end local 1 // java.lang.String deploymentID
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lio/vertx/core/impl/VertxImpl;
            0    8     1  deploymentID  Ljava/lang/String;
            5    6     2        future  Lio/vertx/core/Future<Ljava/lang/Void;>;
            7    8     2        future  Lio/vertx/core/Future<Ljava/lang/Void;>;
            1    8     3     haManager  Lio/vertx/core/impl/HAManager;
    Signature: (Ljava/lang/String;)Lio/vertx/core/Future<Ljava/lang/Void;>;
    MethodParameters:
              Name  Flags
      deploymentID  

  public void undeploy(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // java.lang.String deploymentID
        start local 2 // io.vertx.core.Handler completionHandler
         0: .line 713
            aload 0 /* this */
            aload 1 /* deploymentID */
            invokevirtual io.vertx.core.impl.VertxImpl.undeploy:(Ljava/lang/String;)Lio/vertx/core/Future;
            astore 3 /* fut */
        start local 3 // io.vertx.core.Future fut
         1: .line 714
            aload 2 /* completionHandler */
            ifnull 3
         2: .line 715
            aload 3 /* fut */
            aload 2 /* completionHandler */
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         3: .line 717
      StackMap locals: io.vertx.core.Future
      StackMap stack:
            return
        end local 3 // io.vertx.core.Future fut
        end local 2 // io.vertx.core.Handler completionHandler
        end local 1 // java.lang.String deploymentID
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lio/vertx/core/impl/VertxImpl;
            0    4     1       deploymentID  Ljava/lang/String;
            0    4     2  completionHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
            1    4     3                fut  Lio/vertx/core/Future<Ljava/lang/Void;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
                   Name  Flags
      deploymentID       
      completionHandler  

  public java.util.Set<java.lang.String> deploymentIDs();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 721
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.deploymentManager:Lio/vertx/core/impl/DeploymentManager;
            invokevirtual io.vertx.core.impl.DeploymentManager.deployments:()Ljava/util/Set;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public void registerVerticleFactory(io.vertx.core.spi.VerticleFactory);
    descriptor: (Lio/vertx/core/spi/VerticleFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.spi.VerticleFactory factory
         0: .line 726
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.verticleManager:Lio/vertx/core/impl/VerticleManager;
            aload 1 /* factory */
            invokevirtual io.vertx.core.impl.VerticleManager.registerVerticleFactory:(Lio/vertx/core/spi/VerticleFactory;)V
         1: .line 727
            return
        end local 1 // io.vertx.core.spi.VerticleFactory factory
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/core/impl/VertxImpl;
            0    2     1  factory  Lio/vertx/core/spi/VerticleFactory;
    MethodParameters:
         Name  Flags
      factory  

  public void unregisterVerticleFactory(io.vertx.core.spi.VerticleFactory);
    descriptor: (Lio/vertx/core/spi/VerticleFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.spi.VerticleFactory factory
         0: .line 731
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.verticleManager:Lio/vertx/core/impl/VerticleManager;
            aload 1 /* factory */
            invokevirtual io.vertx.core.impl.VerticleManager.unregisterVerticleFactory:(Lio/vertx/core/spi/VerticleFactory;)V
         1: .line 732
            return
        end local 1 // io.vertx.core.spi.VerticleFactory factory
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/core/impl/VertxImpl;
            0    2     1  factory  Lio/vertx/core/spi/VerticleFactory;
    MethodParameters:
         Name  Flags
      factory  

  public java.util.Set<io.vertx.core.spi.VerticleFactory> verticleFactories();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 736
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.verticleManager:Lio/vertx/core/impl/VerticleManager;
            invokevirtual io.vertx.core.impl.VerticleManager.verticleFactories:()Ljava/util/Set;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;
    Signature: ()Ljava/util/Set<Lio/vertx/core/spi/VerticleFactory;>;

  public <T> void executeBlockingInternal(io.vertx.core.Handler<io.vertx.core.Promise<T>>, io.vertx.core.Handler<io.vertx.core.AsyncResult<T>>);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.Handler blockingCodeHandler
        start local 2 // io.vertx.core.Handler resultHandler
         0: .line 741
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
            astore 3 /* context */
        start local 3 // io.vertx.core.impl.ContextInternal context
         1: .line 743
            aload 3 /* context */
            aload 1 /* blockingCodeHandler */
            aload 2 /* resultHandler */
            invokeinterface io.vertx.core.impl.ContextInternal.executeBlockingInternal:(Lio/vertx/core/Handler;Lio/vertx/core/Handler;)V
         2: .line 744
            return
        end local 3 // io.vertx.core.impl.ContextInternal context
        end local 2 // io.vertx.core.Handler resultHandler
        end local 1 // io.vertx.core.Handler blockingCodeHandler
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lio/vertx/core/impl/VertxImpl;
            0    3     1  blockingCodeHandler  Lio/vertx/core/Handler<Lio/vertx/core/Promise<TT;>;>;
            0    3     2        resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;
            1    3     3              context  Lio/vertx/core/impl/ContextInternal;
    Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/Handler<Lio/vertx/core/Promise<TT;>;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;)V
    MethodParameters:
                     Name  Flags
      blockingCodeHandler  
      resultHandler        

  public <T> void executeBlockingInternal(io.vertx.core.Handler<io.vertx.core.Promise<T>>, boolean, io.vertx.core.Handler<io.vertx.core.AsyncResult<T>>);
    descriptor: (Lio/vertx/core/Handler;ZLio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.Handler blockingCodeHandler
        start local 2 // boolean ordered
        start local 3 // io.vertx.core.Handler resultHandler
         0: .line 748
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
            astore 4 /* context */
        start local 4 // io.vertx.core.impl.ContextInternal context
         1: .line 750
            aload 4 /* context */
            aload 1 /* blockingCodeHandler */
            iload 2 /* ordered */
            aload 3 /* resultHandler */
            invokeinterface io.vertx.core.impl.ContextInternal.executeBlockingInternal:(Lio/vertx/core/Handler;ZLio/vertx/core/Handler;)V
         2: .line 751
            return
        end local 4 // io.vertx.core.impl.ContextInternal context
        end local 3 // io.vertx.core.Handler resultHandler
        end local 2 // boolean ordered
        end local 1 // io.vertx.core.Handler blockingCodeHandler
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lio/vertx/core/impl/VertxImpl;
            0    3     1  blockingCodeHandler  Lio/vertx/core/Handler<Lio/vertx/core/Promise<TT;>;>;
            0    3     2              ordered  Z
            0    3     3        resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;
            1    3     4              context  Lio/vertx/core/impl/ContextInternal;
    Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/Handler<Lio/vertx/core/Promise<TT;>;>;ZLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;)V
    MethodParameters:
                     Name  Flags
      blockingCodeHandler  
      ordered              
      resultHandler        

  public <T> io.vertx.core.Future<T> executeBlocking(io.vertx.core.Handler<io.vertx.core.Promise<T>>, boolean);
    descriptor: (Lio/vertx/core/Handler;Z)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.Handler blockingCodeHandler
        start local 2 // boolean ordered
         0: .line 755
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
            astore 3 /* context */
        start local 3 // io.vertx.core.impl.ContextInternal context
         1: .line 756
            aload 3 /* context */
            aload 1 /* blockingCodeHandler */
            iload 2 /* ordered */
            invokeinterface io.vertx.core.impl.ContextInternal.executeBlocking:(Lio/vertx/core/Handler;Z)Lio/vertx/core/Future;
            areturn
        end local 3 // io.vertx.core.impl.ContextInternal context
        end local 2 // boolean ordered
        end local 1 // io.vertx.core.Handler blockingCodeHandler
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lio/vertx/core/impl/VertxImpl;
            0    2     1  blockingCodeHandler  Lio/vertx/core/Handler<Lio/vertx/core/Promise<TT;>;>;
            0    2     2              ordered  Z
            1    2     3              context  Lio/vertx/core/impl/ContextInternal;
    Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/Handler<Lio/vertx/core/Promise<TT;>;>;Z)Lio/vertx/core/Future<TT;>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN, location=[TYPE_ARGUMENT(0)]
        io.vertx.codegen.annotations.Nullable()
    MethodParameters:
                     Name  Flags
      blockingCodeHandler  
      ordered              

  public <T> io.vertx.core.Future<T> executeBlocking(io.vertx.core.Handler<io.vertx.core.Promise<T>>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.Handler blockingCodeHandler
         0: .line 761
            aload 0 /* this */
            aload 1 /* blockingCodeHandler */
            iconst_1
            invokevirtual io.vertx.core.impl.VertxImpl.executeBlocking:(Lio/vertx/core/Handler;Z)Lio/vertx/core/Future;
            areturn
        end local 1 // io.vertx.core.Handler blockingCodeHandler
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0                 this  Lio/vertx/core/impl/VertxImpl;
            0    1     1  blockingCodeHandler  Lio/vertx/core/Handler<Lio/vertx/core/Promise<TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/Handler<Lio/vertx/core/Promise<TT;>;>;)Lio/vertx/core/Future<TT;>;
    MethodParameters:
                     Name  Flags
      blockingCodeHandler  

  public <T> void executeBlocking(io.vertx.core.Handler<io.vertx.core.Promise<T>>, boolean, io.vertx.core.Handler<io.vertx.core.AsyncResult<T>>);
    descriptor: (Lio/vertx/core/Handler;ZLio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.Handler blockingCodeHandler
        start local 2 // boolean ordered
        start local 3 // io.vertx.core.Handler asyncResultHandler
         0: .line 767
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
            astore 4 /* context */
        start local 4 // io.vertx.core.impl.ContextInternal context
         1: .line 768
            aload 4 /* context */
            aload 1 /* blockingCodeHandler */
            iload 2 /* ordered */
            aload 3 /* asyncResultHandler */
            invokeinterface io.vertx.core.impl.ContextInternal.executeBlocking:(Lio/vertx/core/Handler;ZLio/vertx/core/Handler;)V
         2: .line 769
            return
        end local 4 // io.vertx.core.impl.ContextInternal context
        end local 3 // io.vertx.core.Handler asyncResultHandler
        end local 2 // boolean ordered
        end local 1 // io.vertx.core.Handler blockingCodeHandler
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lio/vertx/core/impl/VertxImpl;
            0    3     1  blockingCodeHandler  Lio/vertx/core/Handler<Lio/vertx/core/Promise<TT;>;>;
            0    3     2              ordered  Z
            0    3     3   asyncResultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;
            1    3     4              context  Lio/vertx/core/impl/ContextInternal;
    Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/Handler<Lio/vertx/core/Promise<TT;>;>;ZLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;)V
    MethodParameters:
                     Name  Flags
      blockingCodeHandler  
      ordered              
      asyncResultHandler   

  public <T> void executeBlocking(io.vertx.core.Handler<io.vertx.core.Promise<T>>, io.vertx.core.Handler<io.vertx.core.AsyncResult<T>>);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.Handler blockingCodeHandler
        start local 2 // io.vertx.core.Handler asyncResultHandler
         0: .line 774
            aload 0 /* this */
            aload 1 /* blockingCodeHandler */
            iconst_1
            aload 2 /* asyncResultHandler */
            invokevirtual io.vertx.core.impl.VertxImpl.executeBlocking:(Lio/vertx/core/Handler;ZLio/vertx/core/Handler;)V
         1: .line 775
            return
        end local 2 // io.vertx.core.Handler asyncResultHandler
        end local 1 // io.vertx.core.Handler blockingCodeHandler
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lio/vertx/core/impl/VertxImpl;
            0    2     1  blockingCodeHandler  Lio/vertx/core/Handler<Lio/vertx/core/Promise<TT;>;>;
            0    2     2   asyncResultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/Handler<Lio/vertx/core/Promise<TT;>;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;)V
    MethodParameters:
                     Name  Flags
      blockingCodeHandler  
      asyncResultHandler   

  public boolean isClustered();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 779
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/core/impl/VertxImpl;

  public io.netty.channel.EventLoopGroup nettyEventLoopGroup();
    descriptor: ()Lio/netty/channel/EventLoopGroup;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 784
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.eventLoopGroup:Lio/netty/channel/EventLoopGroup;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  public void simulateKill();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 789
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.haManager:()Lio/vertx/core/impl/HAManager;
            ifnull 2
         1: .line 790
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.haManager:()Lio/vertx/core/impl/HAManager;
            invokevirtual io.vertx.core.impl.HAManager.simulateKill:()V
         2: .line 792
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/core/impl/VertxImpl;

  public io.vertx.core.impl.Deployment getDeployment(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/impl/Deployment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // java.lang.String deploymentID
         0: .line 796
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.deploymentManager:Lio/vertx/core/impl/DeploymentManager;
            aload 1 /* deploymentID */
            invokevirtual io.vertx.core.impl.DeploymentManager.getDeployment:(Ljava/lang/String;)Lio/vertx/core/impl/Deployment;
            areturn
        end local 1 // java.lang.String deploymentID
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lio/vertx/core/impl/VertxImpl;
            0    1     1  deploymentID  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      deploymentID  

  public synchronized void failoverCompleteHandler(io.vertx.core.impl.FailoverCompleteHandler);
    descriptor: (Lio/vertx/core/impl/FailoverCompleteHandler;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.impl.FailoverCompleteHandler failoverCompleteHandler
         0: .line 801
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.haManager:()Lio/vertx/core/impl/HAManager;
            ifnull 2
         1: .line 802
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.haManager:()Lio/vertx/core/impl/HAManager;
            aload 1 /* failoverCompleteHandler */
            invokevirtual io.vertx.core.impl.HAManager.setFailoverCompleteHandler:(Lio/vertx/core/impl/FailoverCompleteHandler;)V
         2: .line 804
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.impl.FailoverCompleteHandler failoverCompleteHandler
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    3     0                     this  Lio/vertx/core/impl/VertxImpl;
            0    3     1  failoverCompleteHandler  Lio/vertx/core/impl/FailoverCompleteHandler;
    MethodParameters:
                         Name  Flags
      failoverCompleteHandler  

  public boolean isKilled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 808
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.haManager:()Lio/vertx/core/impl/HAManager;
            invokevirtual io.vertx.core.impl.HAManager.isKilled:()Z
            ireturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  public void failDuringFailover(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // boolean fail
         0: .line 813
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.haManager:()Lio/vertx/core/impl/HAManager;
            ifnull 2
         1: .line 814
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.haManager:()Lio/vertx/core/impl/HAManager;
            iload 1 /* fail */
            invokevirtual io.vertx.core.impl.HAManager.failDuringFailover:(Z)V
         2: .line 816
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean fail
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/core/impl/VertxImpl;
            0    3     1  fail  Z
    MethodParameters:
      Name  Flags
      fail  

  public io.vertx.core.spi.metrics.VertxMetrics metricsSPI();
    descriptor: ()Lio/vertx/core/spi/metrics/VertxMetrics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 820
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  public java.io.File resolveFile(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/File;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // java.lang.String fileName
         0: .line 825
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.fileResolver:Lio/vertx/core/file/impl/FileResolver;
            aload 1 /* fileName */
            invokevirtual io.vertx.core.file.impl.FileResolver.resolveFile:(Ljava/lang/String;)Ljava/io/File;
            areturn
        end local 1 // java.lang.String fileName
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/vertx/core/impl/VertxImpl;
            0    1     1  fileName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      fileName  

  public void resolveAddress(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.net.InetAddress>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // java.lang.String hostname
        start local 2 // io.vertx.core.Handler resultHandler
         0: .line 830
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.addressResolver:Lio/vertx/core/impl/AddressResolver;
            aload 1 /* hostname */
            aload 2 /* resultHandler */
            invokevirtual io.vertx.core.impl.AddressResolver.resolveHostname:(Ljava/lang/String;Lio/vertx/core/Handler;)V
         1: .line 831
            return
        end local 2 // io.vertx.core.Handler resultHandler
        end local 1 // java.lang.String hostname
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/core/impl/VertxImpl;
            0    2     1       hostname  Ljava/lang/String;
            0    2     2  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/net/InetAddress;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/net/InetAddress;>;>;)V
    MethodParameters:
               Name  Flags
      hostname       
      resultHandler  

  public io.vertx.core.impl.AddressResolver addressResolver();
    descriptor: ()Lio/vertx/core/impl/AddressResolver;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 835
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.addressResolver:Lio/vertx/core/impl/AddressResolver;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  public io.netty.resolver.AddressResolverGroup<java.net.InetSocketAddress> nettyAddressResolverGroup();
    descriptor: ()Lio/netty/resolver/AddressResolverGroup;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 840
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.addressResolver:Lio/vertx/core/impl/AddressResolver;
            invokevirtual io.vertx.core.impl.AddressResolver.nettyAddressResolverGroup:()Lio/netty/resolver/AddressResolverGroup;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;
    Signature: ()Lio/netty/resolver/AddressResolverGroup<Ljava/net/InetSocketAddress;>;

  public io.vertx.core.impl.BlockedThreadChecker blockedThreadChecker();
    descriptor: ()Lio/vertx/core/impl/BlockedThreadChecker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 845
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.checker:Lio/vertx/core/impl/BlockedThreadChecker;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  private void deleteCacheDirAndShutdown(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.Handler completionHandler
         0: .line 850
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/core/impl/VertxImpl;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/impl/VertxImpl.lambda$21(Lio/vertx/core/Promise;)V (7)
                  (Lio/vertx/core/Promise;)V
         1: .line 857
            aload 0 /* this */
            aload 1 /* completionHandler */
            invokedynamic handle(Lio/vertx/core/impl/VertxImpl;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/impl/VertxImpl.lambda$22(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
         2: .line 850
            invokevirtual io.vertx.core.impl.VertxImpl.executeBlockingInternal:(Lio/vertx/core/Handler;Lio/vertx/core/Handler;)V
         3: .line 894
            return
        end local 1 // io.vertx.core.Handler completionHandler
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lio/vertx/core/impl/VertxImpl;
            0    4     1  completionHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
                   Name  Flags
      completionHandler  

  public io.vertx.core.impl.HAManager haManager();
    descriptor: ()Lio/vertx/core/impl/HAManager;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 897
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.haManager:Lio/vertx/core/impl/HAManager;
            areturn
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;

  public io.vertx.core.impl.WorkerExecutorImpl createSharedWorkerExecutor(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/impl/WorkerExecutorImpl;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // java.lang.String name
         0: .line 1092
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.defaultWorkerPoolSize:I
            invokevirtual io.vertx.core.impl.VertxImpl.createSharedWorkerExecutor:(Ljava/lang/String;I)Lio/vertx/core/impl/WorkerExecutorImpl;
            areturn
        end local 1 // java.lang.String name
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public io.vertx.core.impl.WorkerExecutorImpl createSharedWorkerExecutor(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Lio/vertx/core/impl/WorkerExecutorImpl;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // java.lang.String name
        start local 2 // int poolSize
         0: .line 1097
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* poolSize */
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.maxWorkerExecTime:J
            invokevirtual io.vertx.core.impl.VertxImpl.createSharedWorkerExecutor:(Ljava/lang/String;IJ)Lio/vertx/core/impl/WorkerExecutorImpl;
            areturn
        end local 2 // int poolSize
        end local 1 // java.lang.String name
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/vertx/core/impl/VertxImpl;
            0    1     1      name  Ljava/lang/String;
            0    1     2  poolSize  I
    MethodParameters:
          Name  Flags
      name      
      poolSize  

  public synchronized io.vertx.core.impl.WorkerExecutorImpl createSharedWorkerExecutor(java.lang.String, int, long);
    descriptor: (Ljava/lang/String;IJ)Lio/vertx/core/impl/WorkerExecutorImpl;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // java.lang.String name
        start local 2 // int poolSize
        start local 3 // long maxExecuteTime
         0: .line 1102
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* poolSize */
            lload 3 /* maxExecuteTime */
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.maxWorkerExecTimeUnit:Ljava/util/concurrent/TimeUnit;
            invokevirtual io.vertx.core.impl.VertxImpl.createSharedWorkerExecutor:(Ljava/lang/String;IJLjava/util/concurrent/TimeUnit;)Lio/vertx/core/impl/WorkerExecutorImpl;
            areturn
        end local 3 // long maxExecuteTime
        end local 2 // int poolSize
        end local 1 // java.lang.String name
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lio/vertx/core/impl/VertxImpl;
            0    1     1            name  Ljava/lang/String;
            0    1     2        poolSize  I
            0    1     3  maxExecuteTime  J
    MethodParameters:
                Name  Flags
      name            
      poolSize        
      maxExecuteTime  

  public synchronized io.vertx.core.impl.WorkerExecutorImpl createSharedWorkerExecutor(java.lang.String, int, long, java.util.concurrent.TimeUnit);
    descriptor: (Ljava/lang/String;IJLjava/util/concurrent/TimeUnit;)Lio/vertx/core/impl/WorkerExecutorImpl;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=10, args_size=5
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // java.lang.String name
        start local 2 // int poolSize
        start local 3 // long maxExecuteTime
        start local 5 // java.util.concurrent.TimeUnit maxExecuteTimeUnit
         0: .line 1107
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* poolSize */
            lload 3 /* maxExecuteTime */
            aload 5 /* maxExecuteTimeUnit */
            invokevirtual io.vertx.core.impl.VertxImpl.createSharedWorkerPool:(Ljava/lang/String;IJLjava/util/concurrent/TimeUnit;)Lio/vertx/core/impl/VertxImpl$SharedWorkerPool;
            astore 6 /* sharedWorkerPool */
        start local 6 // io.vertx.core.impl.VertxImpl$SharedWorkerPool sharedWorkerPool
         1: .line 1108
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.getContext:()Lio/vertx/core/impl/AbstractContext;
            astore 7 /* ctx */
        start local 7 // io.vertx.core.impl.AbstractContext ctx
         2: .line 1109
            aload 7 /* ctx */
            ifnull 3
            aload 7 /* ctx */
            invokevirtual io.vertx.core.impl.AbstractContext.closeHooks:()Lio/vertx/core/impl/CloseHooks;
            goto 4
      StackMap locals: io.vertx.core.impl.VertxImpl$SharedWorkerPool io.vertx.core.impl.AbstractContext
      StackMap stack:
         3: aconst_null
      StackMap locals:
      StackMap stack: io.vertx.core.impl.CloseHooks
         4: astore 8 /* hooks */
        start local 8 // io.vertx.core.impl.CloseHooks hooks
         5: .line 1110
            aload 8 /* hooks */
            ifnonnull 7
         6: .line 1111
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.closeHooks:Lio/vertx/core/impl/CloseHooks;
            astore 8 /* hooks */
         7: .line 1113
      StackMap locals: io.vertx.core.impl.CloseHooks
      StackMap stack:
            new io.vertx.core.impl.WorkerExecutorImpl
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.closeHooks:Lio/vertx/core/impl/CloseHooks;
            aload 6 /* sharedWorkerPool */
            invokespecial io.vertx.core.impl.WorkerExecutorImpl.<init>:(Lio/vertx/core/impl/VertxInternal;Lio/vertx/core/impl/CloseHooks;Lio/vertx/core/impl/VertxImpl$SharedWorkerPool;)V
            astore 9 /* namedExec */
        start local 9 // io.vertx.core.impl.WorkerExecutorImpl namedExec
         8: .line 1114
            aload 8 /* hooks */
            aload 9 /* namedExec */
            invokevirtual io.vertx.core.impl.CloseHooks.add:(Lio/vertx/core/Closeable;)V
         9: .line 1115
            aload 9 /* namedExec */
            areturn
        end local 9 // io.vertx.core.impl.WorkerExecutorImpl namedExec
        end local 8 // io.vertx.core.impl.CloseHooks hooks
        end local 7 // io.vertx.core.impl.AbstractContext ctx
        end local 6 // io.vertx.core.impl.VertxImpl$SharedWorkerPool sharedWorkerPool
        end local 5 // java.util.concurrent.TimeUnit maxExecuteTimeUnit
        end local 3 // long maxExecuteTime
        end local 2 // int poolSize
        end local 1 // java.lang.String name
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   10     0                this  Lio/vertx/core/impl/VertxImpl;
            0   10     1                name  Ljava/lang/String;
            0   10     2            poolSize  I
            0   10     3      maxExecuteTime  J
            0   10     5  maxExecuteTimeUnit  Ljava/util/concurrent/TimeUnit;
            1   10     6    sharedWorkerPool  Lio/vertx/core/impl/VertxImpl$SharedWorkerPool;
            2   10     7                 ctx  Lio/vertx/core/impl/AbstractContext;
            5   10     8               hooks  Lio/vertx/core/impl/CloseHooks;
            8   10     9           namedExec  Lio/vertx/core/impl/WorkerExecutorImpl;
    MethodParameters:
                    Name  Flags
      name                
      poolSize            
      maxExecuteTime      
      maxExecuteTimeUnit  

  public synchronized io.vertx.core.impl.VertxImpl$SharedWorkerPool createSharedWorkerPool(java.lang.String, int, long, java.util.concurrent.TimeUnit);
    descriptor: (Ljava/lang/String;IJLjava/util/concurrent/TimeUnit;)Lio/vertx/core/impl/VertxImpl$SharedWorkerPool;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=9, locals=9, args_size=5
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // java.lang.String name
        start local 2 // int poolSize
        start local 3 // long maxExecuteTime
        start local 5 // java.util.concurrent.TimeUnit maxExecuteTimeUnit
         0: .line 1119
            iload 2 /* poolSize */
            iconst_1
            if_icmpge 2
         1: .line 1120
            new java.lang.IllegalArgumentException
            dup
            ldc "poolSize must be > 0"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1122
      StackMap locals:
      StackMap stack:
            lload 3 /* maxExecuteTime */
            lconst_1
            lcmp
            ifge 4
         3: .line 1123
            new java.lang.IllegalArgumentException
            dup
            ldc "maxExecuteTime must be > 0"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.namedWorkerPools:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.core.impl.VertxImpl$SharedWorkerPool
            astore 6 /* sharedWorkerPool */
        start local 6 // io.vertx.core.impl.VertxImpl$SharedWorkerPool sharedWorkerPool
         5: .line 1126
            aload 6 /* sharedWorkerPool */
            ifnonnull 12
         6: .line 1127
            iload 2 /* poolSize */
            new io.vertx.core.impl.VertxThreadFactory
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.checker:Lio/vertx/core/impl/BlockedThreadChecker;
            iconst_1
            lload 3 /* maxExecuteTime */
            aload 5 /* maxExecuteTimeUnit */
            invokespecial io.vertx.core.impl.VertxThreadFactory.<init>:(Ljava/lang/String;Lio/vertx/core/impl/BlockedThreadChecker;ZJLjava/util/concurrent/TimeUnit;)V
            invokestatic java.util.concurrent.Executors.newFixedThreadPool:(ILjava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;
            astore 7 /* workerExec */
        start local 7 // java.util.concurrent.ExecutorService workerExec
         7: .line 1128
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
            ifnull 8
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
            ldc "worker"
            aload 1 /* name */
            iload 2 /* poolSize */
            invokeinterface io.vertx.core.spi.metrics.VertxMetrics.createPoolMetrics:(Ljava/lang/String;Ljava/lang/String;I)Lio/vertx/core/spi/metrics/PoolMetrics;
            goto 9
      StackMap locals: io.vertx.core.impl.VertxImpl$SharedWorkerPool java.util.concurrent.ExecutorService
      StackMap stack:
         8: aconst_null
      StackMap locals:
      StackMap stack: io.vertx.core.spi.metrics.PoolMetrics
         9: astore 8 /* workerMetrics */
        start local 8 // io.vertx.core.spi.metrics.PoolMetrics workerMetrics
        10: .line 1129
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.namedWorkerPools:Ljava/util/Map;
            aload 1 /* name */
            new io.vertx.core.impl.VertxImpl$SharedWorkerPool
            dup
            aload 0 /* this */
            aload 1 /* name */
            aload 7 /* workerExec */
            aload 8 /* workerMetrics */
            invokespecial io.vertx.core.impl.VertxImpl$SharedWorkerPool.<init>:(Lio/vertx/core/impl/VertxImpl;Ljava/lang/String;Ljava/util/concurrent/ExecutorService;Lio/vertx/core/spi/metrics/PoolMetrics;)V
            dup
            astore 6 /* sharedWorkerPool */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // io.vertx.core.spi.metrics.PoolMetrics workerMetrics
        end local 7 // java.util.concurrent.ExecutorService workerExec
        11: .line 1130
            goto 13
        12: .line 1131
      StackMap locals:
      StackMap stack:
            aload 6 /* sharedWorkerPool */
            dup
            getfield io.vertx.core.impl.VertxImpl$SharedWorkerPool.refCount:I
            iconst_1
            iadd
            putfield io.vertx.core.impl.VertxImpl$SharedWorkerPool.refCount:I
        13: .line 1133
      StackMap locals:
      StackMap stack:
            aload 6 /* sharedWorkerPool */
            areturn
        end local 6 // io.vertx.core.impl.VertxImpl$SharedWorkerPool sharedWorkerPool
        end local 5 // java.util.concurrent.TimeUnit maxExecuteTimeUnit
        end local 3 // long maxExecuteTime
        end local 2 // int poolSize
        end local 1 // java.lang.String name
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   14     0                this  Lio/vertx/core/impl/VertxImpl;
            0   14     1                name  Ljava/lang/String;
            0   14     2            poolSize  I
            0   14     3      maxExecuteTime  J
            0   14     5  maxExecuteTimeUnit  Ljava/util/concurrent/TimeUnit;
            5   14     6    sharedWorkerPool  Lio/vertx/core/impl/VertxImpl$SharedWorkerPool;
            7   11     7          workerExec  Ljava/util/concurrent/ExecutorService;
           10   11     8       workerMetrics  Lio/vertx/core/spi/metrics/PoolMetrics;
    MethodParameters:
                    Name  Flags
      name                
      poolSize            
      maxExecuteTime      
      maxExecuteTimeUnit  

  public io.vertx.core.Vertx exceptionHandler(io.vertx.core.Handler<java.lang.Throwable>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/Vertx;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.Handler handler
         0: .line 1138
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.core.impl.VertxImpl.exceptionHandler:Lio/vertx/core/Handler;
         1: .line 1139
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/core/impl/VertxImpl;
            0    2     1  handler  Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Throwable;>;)Lio/vertx/core/Vertx;
    MethodParameters:
         Name  Flags
      handler  

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

  public void addCloseHook(io.vertx.core.Closeable);
    descriptor: (Lio/vertx/core/Closeable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.Closeable hook
         0: .line 1149
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.closeHooks:Lio/vertx/core/impl/CloseHooks;
            aload 1 /* hook */
            invokevirtual io.vertx.core.impl.CloseHooks.add:(Lio/vertx/core/Closeable;)V
         1: .line 1150
            return
        end local 1 // io.vertx.core.Closeable hook
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/core/impl/VertxImpl;
            0    2     1  hook  Lio/vertx/core/Closeable;
    MethodParameters:
      Name  Flags
      hook  

  public void removeCloseHook(io.vertx.core.Closeable);
    descriptor: (Lio/vertx/core/Closeable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.Closeable hook
         0: .line 1154
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.closeHooks:Lio/vertx/core/impl/CloseHooks;
            aload 1 /* hook */
            invokevirtual io.vertx.core.impl.CloseHooks.remove:(Lio/vertx/core/Closeable;)V
         1: .line 1155
            return
        end local 1 // io.vertx.core.Closeable hook
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/core/impl/VertxImpl;
            0    2     1  hook  Lio/vertx/core/Closeable;
    MethodParameters:
      Name  Flags
      hook  

  private io.vertx.core.impl.CloseHooks resolveHooks();
    descriptor: ()Lio/vertx/core/impl/CloseHooks;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // io.vertx.core.impl.VertxImpl this
         0: .line 1158
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.getContext:()Lio/vertx/core/impl/AbstractContext;
            astore 1 /* context */
        start local 1 // io.vertx.core.impl.AbstractContext context
         1: .line 1159
            aload 1 /* context */
            ifnull 2
            aload 1 /* context */
            invokevirtual io.vertx.core.impl.AbstractContext.closeHooks:()Lio/vertx/core/impl/CloseHooks;
            goto 3
      StackMap locals: io.vertx.core.impl.AbstractContext
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: io.vertx.core.impl.CloseHooks
         3: astore 2 /* hooks */
        start local 2 // io.vertx.core.impl.CloseHooks hooks
         4: .line 1160
            aload 2 /* hooks */
            ifnonnull 6
         5: .line 1161
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.closeHooks:Lio/vertx/core/impl/CloseHooks;
            astore 2 /* hooks */
         6: .line 1163
      StackMap locals: io.vertx.core.impl.CloseHooks
      StackMap stack:
            aload 2 /* hooks */
            areturn
        end local 2 // io.vertx.core.impl.CloseHooks hooks
        end local 1 // io.vertx.core.impl.AbstractContext context
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lio/vertx/core/impl/VertxImpl;
            1    7     1  context  Lio/vertx/core/impl/AbstractContext;
            4    7     2    hooks  Lio/vertx/core/impl/CloseHooks;

  public io.vertx.core.impl.ContextInternal getContext();
    descriptor: ()Lio/vertx/core/impl/ContextInternal;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.vertx.core.impl.VertxImpl.getContext:()Lio/vertx/core/impl/AbstractContext;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.impl.WorkerPool createSharedWorkerPool(java.lang.String, int, long, java.util.concurrent.TimeUnit);
    descriptor: (Ljava/lang/String;IJLjava/util/concurrent/TimeUnit;)Lio/vertx/core/impl/WorkerPool;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=6, locals=6, args_size=5
         0: .line 1
            aload 0
            aload 1
            iload 2
            lload 3
            aload 5
            invokevirtual io.vertx.core.impl.VertxImpl.createSharedWorkerPool:(Ljava/lang/String;IJLjava/util/concurrent/TimeUnit;)Lio/vertx/core/impl/VertxImpl$SharedWorkerPool;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.WorkerExecutor createSharedWorkerExecutor(java.lang.String, int, long, java.util.concurrent.TimeUnit);
    descriptor: (Ljava/lang/String;IJLjava/util/concurrent/TimeUnit;)Lio/vertx/core/WorkerExecutor;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=6, locals=6, args_size=5
         0: .line 1
            aload 0
            aload 1
            iload 2
            lload 3
            aload 5
            invokevirtual io.vertx.core.impl.VertxImpl.createSharedWorkerExecutor:(Ljava/lang/String;IJLjava/util/concurrent/TimeUnit;)Lio/vertx/core/impl/WorkerExecutorImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.impl.WorkerExecutorInternal createSharedWorkerExecutor(java.lang.String, int, long, java.util.concurrent.TimeUnit);
    descriptor: (Ljava/lang/String;IJLjava/util/concurrent/TimeUnit;)Lio/vertx/core/impl/WorkerExecutorInternal;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=6, locals=6, args_size=5
         0: .line 1
            aload 0
            aload 1
            iload 2
            lload 3
            aload 5
            invokevirtual io.vertx.core.impl.VertxImpl.createSharedWorkerExecutor:(Ljava/lang/String;IJLjava/util/concurrent/TimeUnit;)Lio/vertx/core/impl/WorkerExecutorImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.WorkerExecutor createSharedWorkerExecutor(java.lang.String, int, long);
    descriptor: (Ljava/lang/String;IJ)Lio/vertx/core/WorkerExecutor;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=4
         0: .line 1
            aload 0
            aload 1
            iload 2
            lload 3
            invokevirtual io.vertx.core.impl.VertxImpl.createSharedWorkerExecutor:(Ljava/lang/String;IJ)Lio/vertx/core/impl/WorkerExecutorImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.impl.WorkerExecutorInternal createSharedWorkerExecutor(java.lang.String, int, long);
    descriptor: (Ljava/lang/String;IJ)Lio/vertx/core/impl/WorkerExecutorInternal;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=4
         0: .line 1
            aload 0
            aload 1
            iload 2
            lload 3
            invokevirtual io.vertx.core.impl.VertxImpl.createSharedWorkerExecutor:(Ljava/lang/String;IJ)Lio/vertx/core/impl/WorkerExecutorImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.WorkerExecutor createSharedWorkerExecutor(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Lio/vertx/core/WorkerExecutor;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            iload 2
            invokevirtual io.vertx.core.impl.VertxImpl.createSharedWorkerExecutor:(Ljava/lang/String;I)Lio/vertx/core/impl/WorkerExecutorImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.impl.WorkerExecutorInternal createSharedWorkerExecutor(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Lio/vertx/core/impl/WorkerExecutorInternal;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            iload 2
            invokevirtual io.vertx.core.impl.VertxImpl.createSharedWorkerExecutor:(Ljava/lang/String;I)Lio/vertx/core/impl/WorkerExecutorImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.WorkerExecutor createSharedWorkerExecutor(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/WorkerExecutor;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual io.vertx.core.impl.VertxImpl.createSharedWorkerExecutor:(Ljava/lang/String;)Lio/vertx/core/impl/WorkerExecutorImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.impl.WorkerExecutorInternal createSharedWorkerExecutor(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/impl/WorkerExecutorInternal;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual io.vertx.core.impl.VertxImpl.createSharedWorkerExecutor:(Ljava/lang/String;)Lio/vertx/core/impl/WorkerExecutorImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.Context getOrCreateContext();
    descriptor: ()Lio/vertx/core/Context;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.vertx.core.impl.VertxImpl.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void lambda$0(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 2 // io.vertx.core.AsyncResult ar
         0: .line 192
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 5
         1: .line 193
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
            ifnull 3
         2: .line 194
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
            aload 0 /* this */
            invokeinterface io.vertx.core.spi.metrics.VertxMetrics.vertxCreated:(Lio/vertx/core/Vertx;)V
         3: .line 196
      StackMap locals:
      StackMap stack:
            aload 1
            aload 0 /* this */
            invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         4: .line 197
            goto 7
         5: .line 198
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.core.impl.VertxImpl.log:Lio/vertx/core/impl/logging/Logger;
            ldc "Failed to initialize clustered Vert.x"
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokeinterface io.vertx.core.impl.logging.Logger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         6: .line 199
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.close:()Lio/vertx/core/Future;
            aload 1
            aload 2 /* ar */
            invokedynamic handle(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/impl/VertxImpl.lambda$1(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         7: .line 201
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lio/vertx/core/impl/VertxImpl;
            0    8     2    ar  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private void lambda$2(io.vertx.core.VertxOptions, io.vertx.core.Promise, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/VertxOptions;Lio/vertx/core/Promise;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 3 // io.vertx.core.AsyncResult ar
         0: .line 204
            aload 3 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 205
            aload 0 /* this */
            aload 1
            aload 2
            invokevirtual io.vertx.core.impl.VertxImpl.createHaManager:(Lio/vertx/core/VertxOptions;Lio/vertx/core/Promise;)V
         2: .line 206
            goto 4
         3: .line 207
      StackMap locals:
      StackMap stack:
            aload 2
            aload 3 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
         4: .line 209
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/core/impl/VertxImpl;
            0    5     3    ar  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private void lambda$3(io.vertx.core.VertxOptions, io.vertx.core.Promise);
    descriptor: (Lio/vertx/core/VertxOptions;Lio/vertx/core/Promise;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=10, locals=5, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 2 // io.vertx.core.Promise fut
         0: .line 215
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
            ldc "__vertx.haInfo"
            invokeinterface io.vertx.core.spi.cluster.ClusterManager.getSyncMap:(Ljava/lang/String;)Ljava/util/Map;
            astore 3 /* syncMap */
        start local 3 // java.util.Map syncMap
         1: .line 216
            new io.vertx.core.impl.HAManager
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.deploymentManager:Lio/vertx/core/impl/DeploymentManager;
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.verticleManager:Lio/vertx/core/impl/VerticleManager;
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
            aload 3 /* syncMap */
            aload 1
            invokevirtual io.vertx.core.VertxOptions.getQuorumSize:()I
            aload 1
            invokevirtual io.vertx.core.VertxOptions.getHAGroup:()Ljava/lang/String;
            aload 1
            invokevirtual io.vertx.core.VertxOptions.isHAEnabled:()Z
            invokespecial io.vertx.core.impl.HAManager.<init>:(Lio/vertx/core/impl/VertxInternal;Lio/vertx/core/impl/DeploymentManager;Lio/vertx/core/impl/VerticleManager;Lio/vertx/core/spi/cluster/ClusterManager;Ljava/util/Map;ILjava/lang/String;Z)V
            astore 4 /* haManager */
        start local 4 // io.vertx.core.impl.HAManager haManager
         2: .line 217
            aload 2 /* fut */
            aload 4 /* haManager */
            invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
        end local 4 // io.vertx.core.impl.HAManager haManager
        end local 3 // java.util.Map syncMap
         3: .line 218
            return
        end local 2 // io.vertx.core.Promise fut
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lio/vertx/core/impl/VertxImpl;
            0    4     2        fut  Lio/vertx/core/Promise<Lio/vertx/core/impl/HAManager;>;
            1    3     3    syncMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            2    3     4  haManager  Lio/vertx/core/impl/HAManager;

  private void lambda$4(io.vertx.core.Promise, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Promise;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 2 // io.vertx.core.AsyncResult ar
         0: .line 219
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 4
         1: .line 220
            aload 0 /* this */
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.core.impl.HAManager
            putfield io.vertx.core.impl.VertxImpl.haManager:Lio/vertx/core/impl/HAManager;
         2: .line 221
            aload 0 /* this */
            aload 1
            invokevirtual io.vertx.core.impl.VertxImpl.startEventBus:(Lio/vertx/core/Promise;)V
         3: .line 222
            goto 5
         4: .line 223
      StackMap locals:
      StackMap stack:
            aload 1
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
         5: .line 225
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/vertx/core/impl/VertxImpl;
            0    6     2    ar  Lio/vertx/core/AsyncResult<Lio/vertx/core/impl/HAManager;>;

  private void lambda$5(io.vertx.core.Promise, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Promise;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 2 // io.vertx.core.AsyncResult ar
         0: .line 232
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 233
            aload 0 /* this */
            aload 1
            invokevirtual io.vertx.core.impl.VertxImpl.initializeHaManager:(Lio/vertx/core/Promise;)V
         2: .line 234
            goto 4
         3: .line 235
      StackMap locals:
      StackMap stack:
            aload 1
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
         4: .line 237
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/core/impl/VertxImpl;
            0    5     2    ar  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private void lambda$6(io.vertx.core.Promise);
    descriptor: (Lio/vertx/core/Promise;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.Promise fut
         0: .line 245
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.haManager:Lio/vertx/core/impl/HAManager;
            invokevirtual io.vertx.core.impl.HAManager.init:()V
         1: .line 246
            aload 1 /* fut */
            invokeinterface io.vertx.core.Promise.complete:()V
         2: .line 247
            return
        end local 1 // io.vertx.core.Promise fut
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/core/impl/VertxImpl;
            0    3     1   fut  Lio/vertx/core/Promise<Ljava/lang/Void;>;

  private static void lambda$7(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=3, locals=2, args_size=2
        start local 1 // io.vertx.core.AsyncResult ar
         0: .line 552
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.failed:()Z
            ifeq 2
         1: .line 553
            getstatic io.vertx.core.impl.VertxImpl.log:Lio/vertx/core/impl/logging/Logger;
            ldc "Failed to leave cluster"
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokeinterface io.vertx.core.impl.logging.Logger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         2: .line 555
      StackMap locals:
      StackMap stack:
            aload 0
            ifnull 4
         3: .line 556
            aload 0
            invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         4: .line 558
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.AsyncResult ar
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     1    ar  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private void lambda$8(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 2 // io.vertx.core.AsyncResult ar
         0: .line 572
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.deploymentManager:Lio/vertx/core/impl/DeploymentManager;
            invokevirtual io.vertx.core.impl.DeploymentManager.undeployAll:()Lio/vertx/core/Future;
            aload 0 /* this */
            aload 1
            invokedynamic handle(Lio/vertx/core/impl/VertxImpl;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/impl/VertxImpl.lambda$9(Lio/vertx/core/Handler;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
         1: .line 596
            return
        end local 2 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/core/impl/VertxImpl;
            0    2     2    ar  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private static io.vertx.core.Verticle lambda$16(io.vertx.core.Verticle);
    descriptor: (Lio/vertx/core/Verticle;)Lio/vertx/core/Verticle;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 646
            aload 0
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static void lambda$19(io.vertx.core.impl.HAManager, java.lang.String, io.vertx.core.Promise);
    descriptor: (Lio/vertx/core/impl/HAManager;Ljava/lang/String;Lio/vertx/core/Promise;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 2 // io.vertx.core.Promise fut
         0: .line 702
            aload 0
            aload 1
            invokevirtual io.vertx.core.impl.HAManager.removeFromHA:(Ljava/lang/String;)V
         1: .line 703
            aload 2 /* fut */
            invokeinterface io.vertx.core.Promise.complete:()V
         2: .line 704
            return
        end local 2 // io.vertx.core.Promise fut
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     2   fut  Lio/vertx/core/Promise<Ljava/lang/Void;>;

  private io.vertx.core.Future lambda$20(java.lang.String, java.lang.Void);
    descriptor: (Ljava/lang/String;Ljava/lang/Void;)Lio/vertx/core/Future;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 2 // java.lang.Void v
         0: .line 708
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.deploymentManager:Lio/vertx/core/impl/DeploymentManager;
            aload 1
            invokevirtual io.vertx.core.impl.DeploymentManager.undeployVerticle:(Ljava/lang/String;)Lio/vertx/core/Future;
            areturn
        end local 2 // java.lang.Void v
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/VertxImpl;
            0    1     2     v  Ljava/lang/Void;

  private void lambda$21(io.vertx.core.Promise);
    descriptor: (Lio/vertx/core/Promise;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 1 // io.vertx.core.Promise fut
         0: .line 852
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.fileResolver:Lio/vertx/core/file/impl/FileResolver;
            invokevirtual io.vertx.core.file.impl.FileResolver.close:()V
         1: .line 853
            aload 1 /* fut */
            invokeinterface io.vertx.core.Promise.complete:()V
         2: .line 854
            goto 5
      StackMap locals:
      StackMap stack: java.io.IOException
         3: astore 2 /* e */
        start local 2 // java.io.IOException e
         4: .line 855
            aload 1 /* fut */
            aload 2 /* e */
            invokeinterface io.vertx.core.Promise.tryFail:(Ljava/lang/Throwable;)Z
            pop
        end local 2 // java.io.IOException e
         5: .line 857
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.Promise fut
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/vertx/core/impl/VertxImpl;
            0    6     1   fut  Lio/vertx/core/Promise<Ljava/lang/Object;>;
            4    5     2     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.io.IOException

  private void lambda$22(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 2 // io.vertx.core.AsyncResult ar
         0: .line 859
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.workerPool:Lio/vertx/core/impl/WorkerPool;
            invokevirtual io.vertx.core.impl.WorkerPool.close:()V
         1: .line 860
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.internalBlockingPool:Lio/vertx/core/impl/WorkerPool;
            invokevirtual io.vertx.core.impl.WorkerPool.close:()V
         2: .line 861
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.namedWorkerPools:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            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
                  io/vertx/core/impl/WorkerPool.close()V (5)
                  (Lio/vertx/core/impl/VertxImpl$SharedWorkerPool;)V
            invokevirtual java.util.ArrayList.forEach:(Ljava/util/function/Consumer;)V
         3: .line 863
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.acceptorEventLoopGroup:Lio/netty/channel/EventLoopGroup;
            lconst_0
            ldc 10
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
            invokeinterface io.netty.channel.EventLoopGroup.shutdownGracefully:(JJLjava/util/concurrent/TimeUnit;)Lio/netty/util/concurrent/Future;
            new io.vertx.core.impl.VertxImpl$3
            dup
            aload 0 /* this */
            aload 1
            invokespecial io.vertx.core.impl.VertxImpl$3.<init>:(Lio/vertx/core/impl/VertxImpl;Lio/vertx/core/Handler;)V
            invokeinterface io.netty.util.concurrent.Future.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/util/concurrent/Future;
            pop
         4: .line 893
            return
        end local 2 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/core/impl/VertxImpl;
            0    5     2    ar  Lio/vertx/core/AsyncResult<Ljava/lang/Object;>;

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

  private void lambda$9(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 2 // io.vertx.core.AsyncResult ar1
         0: .line 573
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.haManager:()Lio/vertx/core/impl/HAManager;
            astore 3 /* haManager */
        start local 3 // io.vertx.core.impl.HAManager haManager
         1: .line 574
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 4 /* haPromise */
        start local 4 // io.vertx.core.Promise haPromise
         2: .line 575
            aload 3 /* haManager */
            ifnull 7
         3: .line 576
            aload 0 /* this */
            aload 3 /* haManager */
            invokedynamic handle(Lio/vertx/core/impl/HAManager;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/impl/VertxImpl.lambda$10(Lio/vertx/core/impl/HAManager;Lio/vertx/core/Promise;)V (6)
                  (Lio/vertx/core/Promise;)V
         4: .line 579
            iconst_0
            aload 4 /* haPromise */
         5: .line 576
            invokevirtual io.vertx.core.impl.VertxImpl.executeBlocking:(Lio/vertx/core/Handler;ZLio/vertx/core/Handler;)V
         6: .line 580
            goto 8
         7: .line 581
      StackMap locals: io.vertx.core.impl.HAManager io.vertx.core.Promise
      StackMap stack:
            aload 4 /* haPromise */
            invokeinterface io.vertx.core.Promise.complete:()V
         8: .line 583
      StackMap locals:
      StackMap stack:
            aload 4 /* haPromise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            aload 0 /* this */
            aload 1
            invokedynamic handle(Lio/vertx/core/impl/VertxImpl;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/impl/VertxImpl.lambda$11(Lio/vertx/core/Handler;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
        end local 4 // io.vertx.core.Promise haPromise
        end local 3 // io.vertx.core.impl.HAManager haManager
         9: .line 595
            return
        end local 2 // io.vertx.core.AsyncResult ar1
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lio/vertx/core/impl/VertxImpl;
            0   10     2        ar1  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
            1    9     3  haManager  Lio/vertx/core/impl/HAManager;
            2    9     4  haPromise  Lio/vertx/core/Promise<Ljava/lang/Void;>;

  private static void lambda$10(io.vertx.core.impl.HAManager, io.vertx.core.Promise);
    descriptor: (Lio/vertx/core/impl/HAManager;Lio/vertx/core/Promise;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 1 // io.vertx.core.Promise fut
         0: .line 577
            aload 0
            invokevirtual io.vertx.core.impl.HAManager.stop:()V
         1: .line 578
            aload 1 /* fut */
            invokeinterface io.vertx.core.Promise.complete:()V
         2: .line 579
            return
        end local 1 // io.vertx.core.Promise fut
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1   fut  Lio/vertx/core/Promise<Ljava/lang/Void;>;

  private void lambda$11(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 2 // io.vertx.core.AsyncResult ar2
         0: .line 584
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.addressResolver:Lio/vertx/core/impl/AddressResolver;
            aload 0 /* this */
            aload 1
            invokedynamic handle(Lio/vertx/core/impl/VertxImpl;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/impl/VertxImpl.lambda$12(Lio/vertx/core/Handler;Ljava/lang/Void;)V (7)
                  (Ljava/lang/Void;)V
            invokevirtual io.vertx.core.impl.AddressResolver.close:(Lio/vertx/core/Handler;)V
         1: .line 594
            return
        end local 2 // io.vertx.core.AsyncResult ar2
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/core/impl/VertxImpl;
            0    2     2   ar2  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private void lambda$12(io.vertx.core.Handler, java.lang.Void);
    descriptor: (Lio/vertx/core/Handler;Ljava/lang/Void;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 2 // java.lang.Void ar3
         0: .line 585
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxImpl.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
            invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
            astore 3 /* ebClose */
        start local 3 // io.vertx.core.Promise ebClose
         1: .line 586
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxImpl.eventBus:Lio/vertx/core/eventbus/impl/EventBusInternal;
            aload 3 /* ebClose */
            invokeinterface io.vertx.core.eventbus.impl.EventBusInternal.close:(Lio/vertx/core/Promise;)V
         2: .line 587
            aload 3 /* ebClose */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            aload 0 /* this */
            aload 1
            invokedynamic handle(Lio/vertx/core/impl/VertxImpl;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/impl/VertxImpl.lambda$13(Lio/vertx/core/Handler;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
        end local 3 // io.vertx.core.Promise ebClose
         3: .line 593
            return
        end local 2 // java.lang.Void ar3
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lio/vertx/core/impl/VertxImpl;
            0    4     2      ar3  Ljava/lang/Void;
            1    3     3  ebClose  Lio/vertx/core/Promise<Ljava/lang/Void;>;

  private void lambda$13(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 2 // io.vertx.core.AsyncResult ar4
         0: .line 588
            aload 0 /* this */
            aload 0 /* this */
            aload 1
            invokedynamic handle(Lio/vertx/core/impl/VertxImpl;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/impl/VertxImpl.lambda$14(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokevirtual io.vertx.core.impl.VertxImpl.closeClusterManager:(Lio/vertx/core/Handler;)V
         1: .line 592
            return
        end local 2 // io.vertx.core.AsyncResult ar4
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/core/impl/VertxImpl;
            0    2     2   ar4  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private void lambda$14(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.core.impl.VertxImpl this
        start local 2 // io.vertx.core.AsyncResult ar5
         0: .line 590
            aload 0 /* this */
            aload 1
            invokevirtual io.vertx.core.impl.VertxImpl.deleteCacheDirAndShutdown:(Lio/vertx/core/Handler;)V
         1: .line 591
            return
        end local 2 // io.vertx.core.AsyncResult ar5
        end local 0 // io.vertx.core.impl.VertxImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/core/impl/VertxImpl;
            0    2     2   ar5  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
}
SourceFile: "VertxImpl.java"
NestMembers:
  io.vertx.core.impl.VertxImpl$1  io.vertx.core.impl.VertxImpl$1$1  io.vertx.core.impl.VertxImpl$2  io.vertx.core.impl.VertxImpl$2$1  io.vertx.core.impl.VertxImpl$3  io.vertx.core.impl.VertxImpl$3$1  io.vertx.core.impl.VertxImpl$InternalTimerHandler  io.vertx.core.impl.VertxImpl$SharedWorkerPool  io.vertx.core.impl.VertxImpl$TimeoutStreamImpl
InnerClasses:
  public final Level = io.netty.util.ResourceLeakDetector$Level of io.netty.util.ResourceLeakDetector
  io.vertx.core.impl.VertxImpl$3
  private InternalTimerHandler = io.vertx.core.impl.VertxImpl$InternalTimerHandler of io.vertx.core.impl.VertxImpl
  SharedWorkerPool = io.vertx.core.impl.VertxImpl$SharedWorkerPool of io.vertx.core.impl.VertxImpl
  private TimeoutStreamImpl = io.vertx.core.impl.VertxImpl$TimeoutStreamImpl of io.vertx.core.impl.VertxImpl
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles