public class io.vertx.core.impl.VertxFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.core.impl.VertxFactory
  super_class: java.lang.Object
{
  private io.vertx.core.VertxOptions options;
    descriptor: Lio/vertx/core/VertxOptions;
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.core.net.impl.transport.Transport transport;
    descriptor: Lio/vertx/core/net/impl/transport/Transport;
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.core.spi.cluster.ClusterManager clusterManager;
    descriptor: Lio/vertx/core/spi/cluster/ClusterManager;
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.core.spi.cluster.NodeSelector clusterNodeSelector;
    descriptor: Lio/vertx/core/spi/cluster/NodeSelector;
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.core.spi.tracing.VertxTracer tracer;
    descriptor: Lio/vertx/core/spi/tracing/VertxTracer;
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.core.spi.metrics.VertxMetrics metrics;
    descriptor: Lio/vertx/core/spi/metrics/VertxMetrics;
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.core.file.impl.FileResolver fileResolver;
    descriptor: Lio/vertx/core/file/impl/FileResolver;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(io.vertx.core.VertxOptions);
    descriptor: (Lio/vertx/core/VertxOptions;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxFactory this
        start local 1 // io.vertx.core.VertxOptions options
         0: .line 43
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 44
            aload 0 /* this */
            aload 1 /* options */
            putfield io.vertx.core.impl.VertxFactory.options:Lio/vertx/core/VertxOptions;
         2: .line 45
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual io.vertx.core.VertxOptions.getClusterManager:()Lio/vertx/core/spi/cluster/ClusterManager;
            putfield io.vertx.core.impl.VertxFactory.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
         3: .line 46
            return
        end local 1 // io.vertx.core.VertxOptions options
        end local 0 // io.vertx.core.impl.VertxFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lio/vertx/core/impl/VertxFactory;
            0    4     1  options  Lio/vertx/core/VertxOptions;
    MethodParameters:
         Name  Flags
      options  

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxFactory this
         0: .line 49
            aload 0 /* this */
            new io.vertx.core.VertxOptions
            dup
            invokespecial io.vertx.core.VertxOptions.<init>:()V
            invokespecial io.vertx.core.impl.VertxFactory.<init>:(Lio/vertx/core/VertxOptions;)V
         1: .line 50
            return
        end local 0 // io.vertx.core.impl.VertxFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/core/impl/VertxFactory;

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

  public io.vertx.core.impl.VertxFactory clusterManager(io.vertx.core.spi.cluster.ClusterManager);
    descriptor: (Lio/vertx/core/spi/cluster/ClusterManager;)Lio/vertx/core/impl/VertxFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxFactory this
        start local 1 // io.vertx.core.spi.cluster.ClusterManager clusterManager
         0: .line 58
            aload 0 /* this */
            aload 1 /* clusterManager */
            putfield io.vertx.core.impl.VertxFactory.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
         1: .line 59
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.spi.cluster.ClusterManager clusterManager
        end local 0 // io.vertx.core.impl.VertxFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lio/vertx/core/impl/VertxFactory;
            0    2     1  clusterManager  Lio/vertx/core/spi/cluster/ClusterManager;
    MethodParameters:
                Name  Flags
      clusterManager  

  public io.vertx.core.impl.VertxFactory clusterNodeSelector(io.vertx.core.spi.cluster.NodeSelector);
    descriptor: (Lio/vertx/core/spi/cluster/NodeSelector;)Lio/vertx/core/impl/VertxFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxFactory this
        start local 1 // io.vertx.core.spi.cluster.NodeSelector clusterNodeSelector
         0: .line 63
            aload 0 /* this */
            aload 1 /* clusterNodeSelector */
            putfield io.vertx.core.impl.VertxFactory.clusterNodeSelector:Lio/vertx/core/spi/cluster/NodeSelector;
         1: .line 64
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.spi.cluster.NodeSelector clusterNodeSelector
        end local 0 // io.vertx.core.impl.VertxFactory this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lio/vertx/core/impl/VertxFactory;
            0    2     1  clusterNodeSelector  Lio/vertx/core/spi/cluster/NodeSelector;
    MethodParameters:
                     Name  Flags
      clusterNodeSelector  

  public io.vertx.core.impl.VertxFactory tracer(io.vertx.core.spi.tracing.VertxTracer);
    descriptor: (Lio/vertx/core/spi/tracing/VertxTracer;)Lio/vertx/core/impl/VertxFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxFactory this
        start local 1 // io.vertx.core.spi.tracing.VertxTracer tracer
         0: .line 68
            aload 0 /* this */
            aload 1 /* tracer */
            putfield io.vertx.core.impl.VertxFactory.tracer:Lio/vertx/core/spi/tracing/VertxTracer;
         1: .line 69
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.spi.tracing.VertxTracer tracer
        end local 0 // io.vertx.core.impl.VertxFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/vertx/core/impl/VertxFactory;
            0    2     1  tracer  Lio/vertx/core/spi/tracing/VertxTracer;
    MethodParameters:
        Name  Flags
      tracer  

  public io.vertx.core.impl.VertxFactory metrics(io.vertx.core.spi.metrics.VertxMetrics);
    descriptor: (Lio/vertx/core/spi/metrics/VertxMetrics;)Lio/vertx/core/impl/VertxFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.VertxFactory this
        start local 1 // io.vertx.core.spi.metrics.VertxMetrics metrics
         0: .line 73
            aload 0 /* this */
            aload 1 /* metrics */
            putfield io.vertx.core.impl.VertxFactory.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
         1: .line 74
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.spi.metrics.VertxMetrics metrics
        end local 0 // io.vertx.core.impl.VertxFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/core/impl/VertxFactory;
            0    2     1  metrics  Lio/vertx/core/spi/metrics/VertxMetrics;
    MethodParameters:
         Name  Flags
      metrics  

  public io.vertx.core.Vertx vertx();
    descriptor: ()Lio/vertx/core/Vertx;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=1
        start local 0 // io.vertx.core.impl.VertxFactory this
         0: .line 78
            new io.vertx.core.impl.VertxImpl
            dup
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.options:Lio/vertx/core/VertxOptions;
            aconst_null
            aconst_null
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxFactory.createMetrics:()Lio/vertx/core/spi/metrics/VertxMetrics;
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxFactory.createTracer:()Lio/vertx/core/spi/tracing/VertxTracer;
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxFactory.createTransport:()Lio/vertx/core/net/impl/transport/Transport;
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxFactory.createFileResolver:()Lio/vertx/core/file/impl/FileResolver;
            invokespecial io.vertx.core.impl.VertxImpl.<init>:(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
            astore 1 /* vertx */
        start local 1 // io.vertx.core.impl.VertxImpl vertx
         1: .line 79
            aload 1 /* vertx */
            invokevirtual io.vertx.core.impl.VertxImpl.init:()V
         2: .line 80
            aload 1 /* vertx */
            areturn
        end local 1 // io.vertx.core.impl.VertxImpl vertx
        end local 0 // io.vertx.core.impl.VertxFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lio/vertx/core/impl/VertxFactory;
            1    3     1  vertx  Lio/vertx/core/impl/VertxImpl;

  public void clusteredVertx(io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.Vertx>>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=3, args_size=2
        start local 0 // io.vertx.core.impl.VertxFactory this
        start local 1 // io.vertx.core.Handler handler
         0: .line 84
            new io.vertx.core.impl.VertxImpl
            dup
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.options:Lio/vertx/core/VertxOptions;
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxFactory.createClusterManager:()Lio/vertx/core/spi/cluster/ClusterManager;
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxFactory.createNodeSelector:()Lio/vertx/core/spi/cluster/NodeSelector;
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxFactory.createMetrics:()Lio/vertx/core/spi/metrics/VertxMetrics;
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxFactory.createTracer:()Lio/vertx/core/spi/tracing/VertxTracer;
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxFactory.createTransport:()Lio/vertx/core/net/impl/transport/Transport;
            aload 0 /* this */
            invokevirtual io.vertx.core.impl.VertxFactory.createFileResolver:()Lio/vertx/core/file/impl/FileResolver;
            invokespecial io.vertx.core.impl.VertxImpl.<init>:(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
            astore 2 /* vertx */
        start local 2 // io.vertx.core.impl.VertxImpl vertx
         1: .line 85
            aload 2 /* vertx */
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.options:Lio/vertx/core/VertxOptions;
            aload 1 /* handler */
            invokevirtual io.vertx.core.impl.VertxImpl.initClustered:(Lio/vertx/core/VertxOptions;Lio/vertx/core/Handler;)V
         2: .line 86
            return
        end local 2 // io.vertx.core.impl.VertxImpl vertx
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.core.impl.VertxFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/core/impl/VertxFactory;
            0    3     1  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/Vertx;>;>;
            1    3     2    vertx  Lio/vertx/core/impl/VertxImpl;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/Vertx;>;>;)V
    MethodParameters:
         Name  Flags
      handler  

  private io.vertx.core.spi.cluster.ClusterManager createClusterManager();
    descriptor: ()Lio/vertx/core/spi/cluster/ClusterManager;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // io.vertx.core.impl.VertxFactory this
         0: .line 89
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
            ifnonnull 11
         1: .line 90
            ldc "vertx.cluster.managerClass"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* clusterManagerClassName */
        start local 1 // java.lang.String clusterManagerClassName
         2: .line 91
            aload 1 /* clusterManagerClassName */
            ifnull 8
         3: .line 94
            aload 1 /* clusterManagerClassName */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* clazz */
        start local 2 // java.lang.Class clazz
         4: .line 95
            aload 0 /* this */
            aload 2 /* clazz */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast io.vertx.core.spi.cluster.ClusterManager
            putfield io.vertx.core.impl.VertxFactory.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
        end local 2 // java.lang.Class clazz
         5: .line 96
            goto 11
      StackMap locals: io.vertx.core.impl.VertxFactory java.lang.String
      StackMap stack: java.lang.Exception
         6: astore 2 /* e */
        start local 2 // java.lang.Exception e
         7: .line 97
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to instantiate "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* clusterManagerClassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* e */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Exception e
         8: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc Lio/vertx/core/spi/cluster/ClusterManager;
            invokestatic io.vertx.core.ServiceHelper.loadFactoryOrNull:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast io.vertx.core.spi.cluster.ClusterManager
            putfield io.vertx.core.impl.VertxFactory.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
         9: .line 101
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
            ifnonnull 11
        10: .line 102
            new java.lang.IllegalStateException
            dup
            ldc "No ClusterManagerFactory instances found on classpath"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String clusterManagerClassName
        11: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
            areturn
        end local 0 // io.vertx.core.impl.VertxFactory this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   12     0                     this  Lio/vertx/core/impl/VertxFactory;
            2   11     1  clusterManagerClassName  Ljava/lang/String;
            4    5     2                    clazz  Ljava/lang/Class<*>;
            7    8     2                        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     5       6  Class java.lang.Exception

  private io.vertx.core.spi.cluster.NodeSelector createNodeSelector();
    descriptor: ()Lio/vertx/core/spi/cluster/NodeSelector;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // io.vertx.core.impl.VertxFactory this
         0: .line 110
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.clusterNodeSelector:Lio/vertx/core/spi/cluster/NodeSelector;
            ifnonnull 5
         1: .line 111
            ldc Lio/vertx/core/spi/cluster/NodeSelector;
            invokestatic io.vertx.core.ServiceHelper.loadFactories:(Ljava/lang/Class;)Ljava/util/Collection;
            astore 1 /* selectors */
        start local 1 // java.util.Collection selectors
         2: .line 112
            aload 0 /* this */
            aload 1 /* selectors */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 3
            aload 1 /* selectors */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.spi.cluster.NodeSelector
            goto 4
      StackMap locals: io.vertx.core.impl.VertxFactory java.util.Collection
      StackMap stack: io.vertx.core.impl.VertxFactory
         3: new io.vertx.core.spi.cluster.impl.DefaultNodeSelector
            dup
            invokespecial io.vertx.core.spi.cluster.impl.DefaultNodeSelector.<init>:()V
      StackMap locals: io.vertx.core.impl.VertxFactory java.util.Collection
      StackMap stack: io.vertx.core.impl.VertxFactory io.vertx.core.spi.cluster.NodeSelector
         4: putfield io.vertx.core.impl.VertxFactory.clusterNodeSelector:Lio/vertx/core/spi/cluster/NodeSelector;
        end local 1 // java.util.Collection selectors
         5: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.clusterNodeSelector:Lio/vertx/core/spi/cluster/NodeSelector;
            areturn
        end local 0 // io.vertx.core.impl.VertxFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lio/vertx/core/impl/VertxFactory;
            2    5     1  selectors  Ljava/util/Collection<Lio/vertx/core/spi/cluster/NodeSelector;>;

  private io.vertx.core.net.impl.transport.Transport createTransport();
    descriptor: ()Lio/vertx/core/net/impl/transport/Transport;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxFactory this
         0: .line 118
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.transport:Lio/vertx/core/net/impl/transport/Transport;
            ifnonnull 2
         1: .line 119
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.options:Lio/vertx/core/VertxOptions;
            invokevirtual io.vertx.core.VertxOptions.getPreferNativeTransport:()Z
            invokestatic io.vertx.core.net.impl.transport.Transport.transport:(Z)Lio/vertx/core/net/impl/transport/Transport;
            putfield io.vertx.core.impl.VertxFactory.transport:Lio/vertx/core/net/impl/transport/Transport;
         2: .line 121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.transport:Lio/vertx/core/net/impl/transport/Transport;
            areturn
        end local 0 // io.vertx.core.impl.VertxFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/core/impl/VertxFactory;

  private io.vertx.core.spi.metrics.VertxMetrics createMetrics();
    descriptor: ()Lio/vertx/core/spi/metrics/VertxMetrics;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // io.vertx.core.impl.VertxFactory this
         0: .line 125
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
            ifnonnull 8
         1: .line 126
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.options:Lio/vertx/core/VertxOptions;
            invokevirtual io.vertx.core.VertxOptions.getMetricsOptions:()Lio/vertx/core/metrics/MetricsOptions;
            ifnull 8
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.options:Lio/vertx/core/VertxOptions;
            invokevirtual io.vertx.core.VertxOptions.getMetricsOptions:()Lio/vertx/core/metrics/MetricsOptions;
            invokevirtual io.vertx.core.metrics.MetricsOptions.isEnabled:()Z
            ifeq 8
         2: .line 127
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.options:Lio/vertx/core/VertxOptions;
            invokevirtual io.vertx.core.VertxOptions.getMetricsOptions:()Lio/vertx/core/metrics/MetricsOptions;
            invokevirtual io.vertx.core.metrics.MetricsOptions.getFactory:()Lio/vertx/core/spi/VertxMetricsFactory;
            astore 1 /* factory */
        start local 1 // io.vertx.core.spi.VertxMetricsFactory factory
         3: .line 128
            aload 1 /* factory */
            ifnonnull 5
         4: .line 129
            ldc Lio/vertx/core/spi/VertxMetricsFactory;
            invokestatic io.vertx.core.ServiceHelper.loadFactoryOrNull:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast io.vertx.core.spi.VertxMetricsFactory
            astore 1 /* factory */
         5: .line 134
      StackMap locals: io.vertx.core.spi.VertxMetricsFactory
      StackMap stack:
            aload 1 /* factory */
            ifnull 8
         6: .line 135
            aload 0 /* this */
            aload 1 /* factory */
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.options:Lio/vertx/core/VertxOptions;
            invokeinterface io.vertx.core.spi.VertxMetricsFactory.metrics:(Lio/vertx/core/VertxOptions;)Lio/vertx/core/spi/metrics/VertxMetrics;
            putfield io.vertx.core.impl.VertxFactory.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
         7: .line 136
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
            new java.lang.StringBuilder
            dup
            ldc "The metric instance created from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* factory */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " cannot be null"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
        end local 1 // io.vertx.core.spi.VertxMetricsFactory factory
         8: .line 140
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
            areturn
        end local 0 // io.vertx.core.impl.VertxFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lio/vertx/core/impl/VertxFactory;
            3    8     1  factory  Lio/vertx/core/spi/VertxMetricsFactory;

  private io.vertx.core.spi.tracing.VertxTracer createTracer();
    descriptor: ()Lio/vertx/core/spi/tracing/VertxTracer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // io.vertx.core.impl.VertxFactory this
         0: .line 144
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.tracer:Lio/vertx/core/spi/tracing/VertxTracer;
            ifnonnull 8
         1: .line 145
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.options:Lio/vertx/core/VertxOptions;
            invokevirtual io.vertx.core.VertxOptions.getTracingOptions:()Lio/vertx/core/tracing/TracingOptions;
            ifnull 8
         2: .line 146
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.options:Lio/vertx/core/VertxOptions;
            invokevirtual io.vertx.core.VertxOptions.getTracingOptions:()Lio/vertx/core/tracing/TracingOptions;
            invokevirtual io.vertx.core.tracing.TracingOptions.getFactory:()Lio/vertx/core/spi/VertxTracerFactory;
            astore 1 /* factory */
        start local 1 // io.vertx.core.spi.VertxTracerFactory factory
         3: .line 147
            aload 1 /* factory */
            ifnonnull 5
         4: .line 148
            ldc Lio/vertx/core/spi/VertxTracerFactory;
            invokestatic io.vertx.core.ServiceHelper.loadFactoryOrNull:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast io.vertx.core.spi.VertxTracerFactory
            astore 1 /* factory */
         5: .line 153
      StackMap locals: io.vertx.core.spi.VertxTracerFactory
      StackMap stack:
            aload 1 /* factory */
            ifnull 8
         6: .line 154
            aload 0 /* this */
            aload 1 /* factory */
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.options:Lio/vertx/core/VertxOptions;
            invokevirtual io.vertx.core.VertxOptions.getTracingOptions:()Lio/vertx/core/tracing/TracingOptions;
            invokeinterface io.vertx.core.spi.VertxTracerFactory.tracer:(Lio/vertx/core/tracing/TracingOptions;)Lio/vertx/core/spi/tracing/VertxTracer;
            putfield io.vertx.core.impl.VertxFactory.tracer:Lio/vertx/core/spi/tracing/VertxTracer;
         7: .line 155
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.tracer:Lio/vertx/core/spi/tracing/VertxTracer;
            new java.lang.StringBuilder
            dup
            ldc "The tracer instance created from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* factory */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " cannot be null"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
        end local 1 // io.vertx.core.spi.VertxTracerFactory factory
         8: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.tracer:Lio/vertx/core/spi/tracing/VertxTracer;
            areturn
        end local 0 // io.vertx.core.impl.VertxFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lio/vertx/core/impl/VertxFactory;
            3    8     1  factory  Lio/vertx/core/spi/VertxTracerFactory;

  private io.vertx.core.file.impl.FileResolver createFileResolver();
    descriptor: ()Lio/vertx/core/file/impl/FileResolver;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.VertxFactory this
         0: .line 163
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.fileResolver:Lio/vertx/core/file/impl/FileResolver;
            ifnonnull 2
         1: .line 164
            aload 0 /* this */
            new io.vertx.core.file.impl.FileResolver
            dup
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.options:Lio/vertx/core/VertxOptions;
            invokevirtual io.vertx.core.VertxOptions.getFileSystemOptions:()Lio/vertx/core/file/FileSystemOptions;
            invokespecial io.vertx.core.file.impl.FileResolver.<init>:(Lio/vertx/core/file/FileSystemOptions;)V
            putfield io.vertx.core.impl.VertxFactory.fileResolver:Lio/vertx/core/file/impl/FileResolver;
         2: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.impl.VertxFactory.fileResolver:Lio/vertx/core/file/impl/FileResolver;
            areturn
        end local 0 // io.vertx.core.impl.VertxFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/core/impl/VertxFactory;
}
SourceFile: "VertxFactory.java"