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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // examples.VerticleDeployment this
         0: .line 11
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // examples.VerticleDeployment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lexamples/VerticleDeployment;

  public void deploymentOfVerticles();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // examples.VerticleDeployment this
         0: .line 17
            aload 0 /* this */
            getfield examples.VerticleDeployment.vertx:Lio/vertx/core/Vertx;
            new io.vertx.config.ConfigRetrieverOptions
            dup
            invokespecial io.vertx.config.ConfigRetrieverOptions.<init>:()V
         1: .line 18
            new io.vertx.config.ConfigStoreOptions
            dup
            invokespecial io.vertx.config.ConfigStoreOptions.<init>:()V
            ldc "file"
            invokevirtual io.vertx.config.ConfigStoreOptions.setType:(Ljava/lang/String;)Lio/vertx/config/ConfigStoreOptions;
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            ldc "path"
            ldc "verticles.json"
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.config.ConfigStoreOptions.setConfig:(Lio/vertx/core/json/JsonObject;)Lio/vertx/config/ConfigStoreOptions;
            invokevirtual io.vertx.config.ConfigRetrieverOptions.addStore:(Lio/vertx/config/ConfigStoreOptions;)Lio/vertx/config/ConfigRetrieverOptions;
         2: .line 17
            invokestatic io.vertx.config.ConfigRetriever.create:(Lio/vertx/core/Vertx;Lio/vertx/config/ConfigRetrieverOptions;)Lio/vertx/config/ConfigRetriever;
            astore 1 /* retriever */
        start local 1 // io.vertx.config.ConfigRetriever retriever
         3: .line 20
            aload 1 /* retriever */
            aload 0 /* this */
            invokedynamic handle(Lexamples/VerticleDeployment;)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
                  examples/VerticleDeployment.lambda$0(Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.config.ConfigRetriever.getConfig:(Lio/vertx/core/Handler;)V
         4: .line 26
            return
        end local 1 // io.vertx.config.ConfigRetriever retriever
        end local 0 // examples.VerticleDeployment this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lexamples/VerticleDeployment;
            3    5     1  retriever  Lio/vertx/config/ConfigRetriever;

  public void propagateConfigurationInTheEventBus();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // examples.VerticleDeployment this
         0: .line 29
            aload 0 /* this */
            getfield examples.VerticleDeployment.vertx:Lio/vertx/core/Vertx;
            new io.vertx.config.ConfigRetrieverOptions
            dup
            invokespecial io.vertx.config.ConfigRetrieverOptions.<init>:()V
         1: .line 30
            new io.vertx.config.ConfigStoreOptions
            dup
            invokespecial io.vertx.config.ConfigStoreOptions.<init>:()V
            ldc "file"
            invokevirtual io.vertx.config.ConfigStoreOptions.setType:(Ljava/lang/String;)Lio/vertx/config/ConfigStoreOptions;
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            ldc "path"
            ldc "verticles.json"
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.config.ConfigStoreOptions.setConfig:(Lio/vertx/core/json/JsonObject;)Lio/vertx/config/ConfigStoreOptions;
            invokevirtual io.vertx.config.ConfigRetrieverOptions.addStore:(Lio/vertx/config/ConfigStoreOptions;)Lio/vertx/config/ConfigRetrieverOptions;
         2: .line 29
            invokestatic io.vertx.config.ConfigRetriever.create:(Lio/vertx/core/Vertx;Lio/vertx/config/ConfigRetrieverOptions;)Lio/vertx/config/ConfigRetriever;
            astore 1 /* retriever */
        start local 1 // io.vertx.config.ConfigRetriever retriever
         3: .line 32
            aload 1 /* retriever */
            invokedynamic handle()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
                  examples/VerticleDeployment.lambda$1(Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.config.ConfigRetriever.getConfig:(Lio/vertx/core/Handler;)V
         4: .line 36
            aload 1 /* retriever */
            aload 0 /* this */
            invokedynamic handle(Lexamples/VerticleDeployment;)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
                  examples/VerticleDeployment.lambda$2(Lio/vertx/config/ConfigChange;)V (7)
                  (Lio/vertx/config/ConfigChange;)V
            invokeinterface io.vertx.config.ConfigRetriever.listen:(Lio/vertx/core/Handler;)V
         5: .line 40
            return
        end local 1 // io.vertx.config.ConfigRetriever retriever
        end local 0 // examples.VerticleDeployment this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lexamples/VerticleDeployment;
            3    6     1  retriever  Lio/vertx/config/ConfigRetriever;

  public void configureVertx();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // examples.VerticleDeployment this
         0: .line 44
            invokestatic io.vertx.core.Vertx.vertx:()Lio/vertx/core/Vertx;
            astore 1 /* vertx */
        start local 1 // io.vertx.core.Vertx vertx
         1: .line 46
            aload 1 /* vertx */
            new io.vertx.config.ConfigRetrieverOptions
            dup
            invokespecial io.vertx.config.ConfigRetrieverOptions.<init>:()V
         2: .line 47
            new io.vertx.config.ConfigStoreOptions
            dup
            invokespecial io.vertx.config.ConfigStoreOptions.<init>:()V
            ldc "file"
            invokevirtual io.vertx.config.ConfigStoreOptions.setType:(Ljava/lang/String;)Lio/vertx/config/ConfigStoreOptions;
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            ldc "path"
            ldc "vertx.json"
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.config.ConfigStoreOptions.setConfig:(Lio/vertx/core/json/JsonObject;)Lio/vertx/config/ConfigStoreOptions;
            invokevirtual io.vertx.config.ConfigRetrieverOptions.addStore:(Lio/vertx/config/ConfigStoreOptions;)Lio/vertx/config/ConfigRetrieverOptions;
         3: .line 46
            invokestatic io.vertx.config.ConfigRetriever.create:(Lio/vertx/core/Vertx;Lio/vertx/config/ConfigRetrieverOptions;)Lio/vertx/config/ConfigRetriever;
            astore 2 /* retriever */
        start local 2 // io.vertx.config.ConfigRetriever retriever
         4: .line 50
            aload 2 /* retriever */
            aload 1 /* vertx */
            invokedynamic handle(Lio/vertx/core/Vertx;)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
                  examples/VerticleDeployment.lambda$3(Lio/vertx/core/Vertx;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.config.ConfigRetriever.getConfig:(Lio/vertx/core/Handler;)V
         5: .line 62
            return
        end local 2 // io.vertx.config.ConfigRetriever retriever
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // examples.VerticleDeployment this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lexamples/VerticleDeployment;
            1    6     1      vertx  Lio/vertx/core/Vertx;
            4    6     2  retriever  Lio/vertx/config/ConfigRetriever;

  private void lambda$0(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // examples.VerticleDeployment this
        start local 1 // io.vertx.core.AsyncResult json
         0: .line 21
            aload 1 /* json */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.core.json.JsonObject
            ldc "a"
            invokevirtual io.vertx.core.json.JsonObject.getJsonObject:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            astore 2 /* a */
        start local 2 // io.vertx.core.json.JsonObject a
         1: .line 22
            aload 1 /* json */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.core.json.JsonObject
            ldc "b"
            invokevirtual io.vertx.core.json.JsonObject.getJsonObject:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            astore 3 /* b */
        start local 3 // io.vertx.core.json.JsonObject b
         2: .line 23
            aload 0 /* this */
            getfield examples.VerticleDeployment.vertx:Lio/vertx/core/Vertx;
            ldc Lexamples/GreetingVerticle;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            new io.vertx.core.DeploymentOptions
            dup
            invokespecial io.vertx.core.DeploymentOptions.<init>:()V
            aload 2 /* a */
            invokevirtual io.vertx.core.DeploymentOptions.setConfig:(Lio/vertx/core/json/JsonObject;)Lio/vertx/core/DeploymentOptions;
            invokeinterface io.vertx.core.Vertx.deployVerticle:(Ljava/lang/String;Lio/vertx/core/DeploymentOptions;)Lio/vertx/core/Future;
            pop
         3: .line 24
            aload 0 /* this */
            getfield examples.VerticleDeployment.vertx:Lio/vertx/core/Vertx;
            ldc Lexamples/GreetingVerticle;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            new io.vertx.core.DeploymentOptions
            dup
            invokespecial io.vertx.core.DeploymentOptions.<init>:()V
            aload 3 /* b */
            invokevirtual io.vertx.core.DeploymentOptions.setConfig:(Lio/vertx/core/json/JsonObject;)Lio/vertx/core/DeploymentOptions;
            invokeinterface io.vertx.core.Vertx.deployVerticle:(Ljava/lang/String;Lio/vertx/core/DeploymentOptions;)Lio/vertx/core/Future;
            pop
        end local 3 // io.vertx.core.json.JsonObject b
        end local 2 // io.vertx.core.json.JsonObject a
         4: .line 25
            return
        end local 1 // io.vertx.core.AsyncResult json
        end local 0 // examples.VerticleDeployment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lexamples/VerticleDeployment;
            0    5     1  json  Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;
            1    4     2     a  Lio/vertx/core/json/JsonObject;
            2    4     3     b  Lio/vertx/core/json/JsonObject;

  private static void lambda$1(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // io.vertx.core.AsyncResult json
         0: .line 34
            return
        end local 0 // io.vertx.core.AsyncResult json
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  json  Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;

  private void lambda$2(io.vertx.config.ConfigChange);
    descriptor: (Lio/vertx/config/ConfigChange;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // examples.VerticleDeployment this
        start local 1 // io.vertx.config.ConfigChange change
         0: .line 37
            aload 1 /* change */
            invokevirtual io.vertx.config.ConfigChange.getNewConfiguration:()Lio/vertx/core/json/JsonObject;
            astore 2 /* json */
        start local 2 // io.vertx.core.json.JsonObject json
         1: .line 38
            aload 0 /* this */
            getfield examples.VerticleDeployment.vertx:Lio/vertx/core/Vertx;
            invokeinterface io.vertx.core.Vertx.eventBus:()Lio/vertx/core/eventbus/EventBus;
            ldc "new-configuration"
            aload 2 /* json */
            invokeinterface io.vertx.core.eventbus.EventBus.publish:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/eventbus/EventBus;
            pop
        end local 2 // io.vertx.core.json.JsonObject json
         2: .line 39
            return
        end local 1 // io.vertx.config.ConfigChange change
        end local 0 // examples.VerticleDeployment this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lexamples/VerticleDeployment;
            0    3     1  change  Lio/vertx/config/ConfigChange;
            1    2     2    json  Lio/vertx/core/json/JsonObject;

  private static void lambda$3(io.vertx.core.Vertx, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=2
        start local 1 // io.vertx.core.AsyncResult json
         0: .line 51
            aload 1 /* json */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.core.json.JsonObject
            astore 2 /* result */
        start local 2 // io.vertx.core.json.JsonObject result
         1: .line 53
            aload 0
            invokeinterface io.vertx.core.Vertx.close:()Lio/vertx/core/Future;
            pop
         2: .line 56
            new io.vertx.core.VertxOptions
            dup
            aload 2 /* result */
            invokespecial io.vertx.core.VertxOptions.<init>:(Lio/vertx/core/json/JsonObject;)V
            astore 3 /* options */
        start local 3 // io.vertx.core.VertxOptions options
         3: .line 57
            aload 3 /* options */
            invokestatic io.vertx.core.Vertx.vertx:(Lio/vertx/core/VertxOptions;)Lio/vertx/core/Vertx;
            astore 4 /* newVertx */
        start local 4 // io.vertx.core.Vertx newVertx
         4: .line 60
            aload 4 /* newVertx */
            ldc Lexamples/GreetingVerticle;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            new io.vertx.core.DeploymentOptions
            dup
            invokespecial io.vertx.core.DeploymentOptions.<init>:()V
            aload 2 /* result */
            ldc "a"
            invokevirtual io.vertx.core.json.JsonObject.getJsonObject:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.core.DeploymentOptions.setConfig:(Lio/vertx/core/json/JsonObject;)Lio/vertx/core/DeploymentOptions;
            invokeinterface io.vertx.core.Vertx.deployVerticle:(Ljava/lang/String;Lio/vertx/core/DeploymentOptions;)Lio/vertx/core/Future;
            pop
        end local 4 // io.vertx.core.Vertx newVertx
        end local 3 // io.vertx.core.VertxOptions options
        end local 2 // io.vertx.core.json.JsonObject result
         5: .line 61
            return
        end local 1 // io.vertx.core.AsyncResult json
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     1      json  Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;
            1    5     2    result  Lio/vertx/core/json/JsonObject;
            3    5     3   options  Lio/vertx/core/VertxOptions;
            4    5     4  newVertx  Lio/vertx/core/Vertx;
}
SourceFile: "VerticleDeployment.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles