public class io.vertx.core.spi.launcher.DefaultCommandFactory<C extends io.vertx.core.spi.launcher.Command> implements io.vertx.core.spi.launcher.CommandFactory<C>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.core.spi.launcher.DefaultCommandFactory
  super_class: java.lang.Object
{
  private final java.lang.Class<C> clazz;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<TC;>;

  private final java.util.function.Supplier<C> supplier;
    descriptor: Ljava/util/function/Supplier;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/function/Supplier<TC;>;

  public void <init>(java.lang.Class<C>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.core.spi.launcher.DefaultCommandFactory this
        start local 1 // java.lang.Class clazz
         0: .line 41
            aload 0 /* this */
            aload 1 /* clazz */
            aload 1 /* clazz */
            invokedynamic get(Ljava/lang/Class;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  io/vertx/core/spi/launcher/DefaultCommandFactory.lambda$0(Ljava/lang/Class;)Lio/vertx/core/spi/launcher/Command; (6)
                  ()Lio/vertx/core/spi/launcher/Command;
            invokespecial io.vertx.core.spi.launcher.DefaultCommandFactory.<init>:(Ljava/lang/Class;Ljava/util/function/Supplier;)V
         1: .line 42
            return
        end local 1 // java.lang.Class clazz
        end local 0 // io.vertx.core.spi.launcher.DefaultCommandFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lio/vertx/core/spi/launcher/DefaultCommandFactory<TC;>;
            0    2     1  clazz  Ljava/lang/Class<TC;>;
    Signature: (Ljava/lang/Class<TC;>;)V
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
       Name  Flags
      clazz  

  public void <init>(java.lang.Class<C>, java.util.function.Supplier<C>);
    descriptor: (Ljava/lang/Class;Ljava/util/function/Supplier;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.core.spi.launcher.DefaultCommandFactory this
        start local 1 // java.lang.Class clazz
        start local 2 // java.util.function.Supplier supplier
         0: .line 50
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 51
            aload 0 /* this */
            aload 1 /* clazz */
            putfield io.vertx.core.spi.launcher.DefaultCommandFactory.clazz:Ljava/lang/Class;
         2: .line 52
            aload 0 /* this */
            aload 2 /* supplier */
            putfield io.vertx.core.spi.launcher.DefaultCommandFactory.supplier:Ljava/util/function/Supplier;
         3: .line 53
            return
        end local 2 // java.util.function.Supplier supplier
        end local 1 // java.lang.Class clazz
        end local 0 // io.vertx.core.spi.launcher.DefaultCommandFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lio/vertx/core/spi/launcher/DefaultCommandFactory<TC;>;
            0    4     1     clazz  Ljava/lang/Class<TC;>;
            0    4     2  supplier  Ljava/util/function/Supplier<TC;>;
    Signature: (Ljava/lang/Class<TC;>;Ljava/util/function/Supplier<TC;>;)V
    MethodParameters:
          Name  Flags
      clazz     
      supplier  

  public C create(io.vertx.core.cli.CommandLine);
    descriptor: (Lio/vertx/core/cli/CommandLine;)Lio/vertx/core/spi/launcher/Command;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.vertx.core.spi.launcher.DefaultCommandFactory this
        start local 1 // io.vertx.core.cli.CommandLine cl
         0: .line 60
            aload 0 /* this */
            getfield io.vertx.core.spi.launcher.DefaultCommandFactory.supplier:Ljava/util/function/Supplier;
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            checkcast io.vertx.core.spi.launcher.Command
            areturn
        end local 1 // io.vertx.core.cli.CommandLine cl
        end local 0 // io.vertx.core.spi.launcher.DefaultCommandFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/spi/launcher/DefaultCommandFactory<TC;>;
            0    1     1    cl  Lio/vertx/core/cli/CommandLine;
    Signature: (Lio/vertx/core/cli/CommandLine;)TC;
    MethodParameters:
      Name  Flags
      cl    

  public io.vertx.core.cli.CLI define();
    descriptor: ()Lio/vertx/core/cli/CLI;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.spi.launcher.DefaultCommandFactory this
         0: .line 68
            aload 0 /* this */
            getfield io.vertx.core.spi.launcher.DefaultCommandFactory.clazz:Ljava/lang/Class;
            invokestatic io.vertx.core.cli.annotations.CLIConfigurator.define:(Ljava/lang/Class;)Lio/vertx/core/cli/CLI;
            areturn
        end local 0 // io.vertx.core.spi.launcher.DefaultCommandFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/spi/launcher/DefaultCommandFactory<TC;>;

  private static io.vertx.core.spi.launcher.Command lambda$0(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lio/vertx/core/spi/launcher/Command;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 41
            aload 0
            invokestatic io.vertx.core.cli.impl.ReflectionUtils.newInstance:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast io.vertx.core.spi.launcher.Command
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <C::Lio/vertx/core/spi/launcher/Command;>Ljava/lang/Object;Lio/vertx/core/spi/launcher/CommandFactory<TC;>;
SourceFile: "DefaultCommandFactory.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles