public abstract class io.dropwizard.cli.ConfiguredCommand<T extends io.dropwizard.Configuration> extends io.dropwizard.cli.Command
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: io.dropwizard.cli.ConfiguredCommand
  super_class: io.dropwizard.cli.Command
{
  private boolean asynchronous;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private T configuration;
    descriptor: Lio/dropwizard/Configuration;
    flags: (0x0002) ACC_PRIVATE
    Signature: TT;
    RuntimeVisibleAnnotations: 
      javax.annotation.Nullable()

  protected void <init>(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.dropwizard.cli.ConfiguredCommand this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String description
         0: .line 34
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* description */
            invokespecial io.dropwizard.cli.Command.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 35
            aload 0 /* this */
            iconst_0
            putfield io.dropwizard.cli.ConfiguredCommand.asynchronous:Z
         2: .line 36
            return
        end local 2 // java.lang.String description
        end local 1 // java.lang.String name
        end local 0 // io.dropwizard.cli.ConfiguredCommand this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lio/dropwizard/cli/ConfiguredCommand<TT;>;
            0    3     1         name  Ljava/lang/String;
            0    3     2  description  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      name         
      description  

  protected java.lang.Class<T> getConfigurationClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.dropwizard.cli.ConfiguredCommand this
         0: .line 44
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lio/dropwizard/Configuration;
            invokestatic io.dropwizard.util.Generics.getTypeParameter:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Class;
            areturn
        end local 0 // io.dropwizard.cli.ConfiguredCommand this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/dropwizard/cli/ConfiguredCommand<TT;>;
    Signature: ()Ljava/lang/Class<TT;>;

  public void configure(net.sourceforge.argparse4j.inf.Subparser);
    descriptor: (Lnet/sourceforge/argparse4j/inf/Subparser;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.dropwizard.cli.ConfiguredCommand this
        start local 1 // net.sourceforge.argparse4j.inf.Subparser subparser
         0: .line 56
            aload 0 /* this */
            aload 1 /* subparser */
            invokevirtual io.dropwizard.cli.ConfiguredCommand.addFileArgument:(Lnet/sourceforge/argparse4j/inf/Subparser;)Lnet/sourceforge/argparse4j/inf/Argument;
            pop
         1: .line 57
            return
        end local 1 // net.sourceforge.argparse4j.inf.Subparser subparser
        end local 0 // io.dropwizard.cli.ConfiguredCommand this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lio/dropwizard/cli/ConfiguredCommand<TT;>;
            0    2     1  subparser  Lnet/sourceforge/argparse4j/inf/Subparser;
    MethodParameters:
           Name  Flags
      subparser  

  protected net.sourceforge.argparse4j.inf.Argument addFileArgument(net.sourceforge.argparse4j.inf.Subparser);
    descriptor: (Lnet/sourceforge/argparse4j/inf/Subparser;)Lnet/sourceforge/argparse4j/inf/Argument;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.dropwizard.cli.ConfiguredCommand this
        start local 1 // net.sourceforge.argparse4j.inf.Subparser subparser
         0: .line 65
            aload 1 /* subparser */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "file"
            aastore
            invokeinterface net.sourceforge.argparse4j.inf.Subparser.addArgument:([Ljava/lang/String;)Lnet/sourceforge/argparse4j/inf/Argument;
         1: .line 66
            ldc "?"
            invokeinterface net.sourceforge.argparse4j.inf.Argument.nargs:(Ljava/lang/String;)Lnet/sourceforge/argparse4j/inf/Argument;
         2: .line 67
            ldc "application configuration file"
            invokeinterface net.sourceforge.argparse4j.inf.Argument.help:(Ljava/lang/String;)Lnet/sourceforge/argparse4j/inf/Argument;
         3: .line 65
            areturn
        end local 1 // net.sourceforge.argparse4j.inf.Subparser subparser
        end local 0 // io.dropwizard.cli.ConfiguredCommand this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lio/dropwizard/cli/ConfiguredCommand<TT;>;
            0    4     1  subparser  Lnet/sourceforge/argparse4j/inf/Subparser;
    MethodParameters:
           Name  Flags
      subparser  

  public void run(io.dropwizard.setup.Bootstrap<?>, net.sourceforge.argparse4j.inf.Namespace);
    descriptor: (Lio/dropwizard/setup/Bootstrap;Lnet/sourceforge/argparse4j/inf/Namespace;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=3
        start local 0 // io.dropwizard.cli.ConfiguredCommand this
        start local 1 // io.dropwizard.setup.Bootstrap wildcardBootstrap
        start local 2 // net.sourceforge.argparse4j.inf.Namespace namespace
         0: .line 73
            aload 1 /* wildcardBootstrap */
            astore 3 /* bootstrap */
        start local 3 // io.dropwizard.setup.Bootstrap bootstrap
         1: .line 74
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* bootstrap */
            invokevirtual io.dropwizard.setup.Bootstrap.getConfigurationFactoryFactory:()Lio/dropwizard/configuration/ConfigurationFactoryFactory;
         2: .line 75
            aload 3 /* bootstrap */
            invokevirtual io.dropwizard.setup.Bootstrap.getConfigurationSourceProvider:()Lio/dropwizard/configuration/ConfigurationSourceProvider;
         3: .line 76
            aload 3 /* bootstrap */
            invokevirtual io.dropwizard.setup.Bootstrap.getValidatorFactory:()Ljavax/validation/ValidatorFactory;
            invokeinterface javax.validation.ValidatorFactory.getValidator:()Ljavax/validation/Validator;
         4: .line 77
            aload 2 /* namespace */
            ldc "file"
            invokevirtual net.sourceforge.argparse4j.inf.Namespace.getString:(Ljava/lang/String;)Ljava/lang/String;
         5: .line 78
            aload 0 /* this */
            invokevirtual io.dropwizard.cli.ConfiguredCommand.getConfigurationClass:()Ljava/lang/Class;
         6: .line 79
            aload 3 /* bootstrap */
            invokevirtual io.dropwizard.setup.Bootstrap.getObjectMapper:()Lcom/fasterxml/jackson/databind/ObjectMapper;
         7: .line 74
            invokevirtual io.dropwizard.cli.ConfiguredCommand.parseConfiguration:(Lio/dropwizard/configuration/ConfigurationFactoryFactory;Lio/dropwizard/configuration/ConfigurationSourceProvider;Ljavax/validation/Validator;Ljava/lang/String;Ljava/lang/Class;Lcom/fasterxml/jackson/databind/ObjectMapper;)Lio/dropwizard/Configuration;
            putfield io.dropwizard.cli.ConfiguredCommand.configuration:Lio/dropwizard/Configuration;
         8: .line 82
            aload 0 /* this */
            getfield io.dropwizard.cli.ConfiguredCommand.configuration:Lio/dropwizard/Configuration;
            ifnull 12
         9: .line 83
            aload 0 /* this */
            getfield io.dropwizard.cli.ConfiguredCommand.configuration:Lio/dropwizard/Configuration;
            invokevirtual io.dropwizard.Configuration.getLoggingFactory:()Lio/dropwizard/logging/LoggingFactory;
            aload 3 /* bootstrap */
            invokevirtual io.dropwizard.setup.Bootstrap.getMetricRegistry:()Lcom/codahale/metrics/MetricRegistry;
        10: .line 84
            aload 3 /* bootstrap */
            invokevirtual io.dropwizard.setup.Bootstrap.getApplication:()Lio/dropwizard/Application;
            invokevirtual io.dropwizard.Application.getName:()Ljava/lang/String;
        11: .line 83
            invokeinterface io.dropwizard.logging.LoggingFactory.configure:(Lcom/codahale/metrics/MetricRegistry;Ljava/lang/String;)V
        12: .line 87
      StackMap locals: io.dropwizard.setup.Bootstrap
      StackMap stack:
            aload 0 /* this */
            aload 3 /* bootstrap */
            aload 2 /* namespace */
            aload 0 /* this */
            getfield io.dropwizard.cli.ConfiguredCommand.configuration:Lio/dropwizard/Configuration;
            invokevirtual io.dropwizard.cli.ConfiguredCommand.run:(Lio/dropwizard/setup/Bootstrap;Lnet/sourceforge/argparse4j/inf/Namespace;Lio/dropwizard/Configuration;)V
        13: .line 88
            goto 18
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 4
        15: .line 89
            aload 0 /* this */
            getfield io.dropwizard.cli.ConfiguredCommand.asynchronous:Z
            ifne 17
        16: .line 90
            aload 0 /* this */
            invokevirtual io.dropwizard.cli.ConfiguredCommand.cleanup:()V
        17: .line 92
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 4
            athrow
        18: .line 89
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.dropwizard.cli.ConfiguredCommand.asynchronous:Z
            ifne 20
        19: .line 90
            aload 0 /* this */
            invokevirtual io.dropwizard.cli.ConfiguredCommand.cleanup:()V
        20: .line 93
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.dropwizard.setup.Bootstrap bootstrap
        end local 2 // net.sourceforge.argparse4j.inf.Namespace namespace
        end local 1 // io.dropwizard.setup.Bootstrap wildcardBootstrap
        end local 0 // io.dropwizard.cli.ConfiguredCommand this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   21     0               this  Lio/dropwizard/cli/ConfiguredCommand<TT;>;
            0   21     1  wildcardBootstrap  Lio/dropwizard/setup/Bootstrap<*>;
            0   21     2          namespace  Lnet/sourceforge/argparse4j/inf/Namespace;
            1   21     3          bootstrap  Lio/dropwizard/setup/Bootstrap<TT;>;
      Exception table:
        from    to  target  type
           8    14      14  any
    Exceptions:
      throws java.lang.Exception
    Signature: (Lio/dropwizard/setup/Bootstrap<*>;Lnet/sourceforge/argparse4j/inf/Namespace;)V
    MethodParameters:
                   Name  Flags
      wildcardBootstrap  
      namespace          

  protected void cleanupAsynchronously();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.dropwizard.cli.ConfiguredCommand this
         0: .line 96
            aload 0 /* this */
            iconst_1
            putfield io.dropwizard.cli.ConfiguredCommand.asynchronous:Z
         1: .line 97
            return
        end local 0 // io.dropwizard.cli.ConfiguredCommand this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/dropwizard/cli/ConfiguredCommand<TT;>;

  protected void cleanup();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.dropwizard.cli.ConfiguredCommand this
         0: .line 100
            aload 0 /* this */
            getfield io.dropwizard.cli.ConfiguredCommand.configuration:Lio/dropwizard/Configuration;
            ifnull 2
         1: .line 101
            aload 0 /* this */
            getfield io.dropwizard.cli.ConfiguredCommand.configuration:Lio/dropwizard/Configuration;
            invokevirtual io.dropwizard.Configuration.getLoggingFactory:()Lio/dropwizard/logging/LoggingFactory;
            invokeinterface io.dropwizard.logging.LoggingFactory.stop:()V
         2: .line 103
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.dropwizard.cli.ConfiguredCommand this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/dropwizard/cli/ConfiguredCommand<TT;>;

  protected abstract void run(io.dropwizard.setup.Bootstrap<T>, net.sourceforge.argparse4j.inf.Namespace, );
    descriptor: (Lio/dropwizard/setup/Bootstrap;Lnet/sourceforge/argparse4j/inf/Namespace;Lio/dropwizard/Configuration;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.lang.Exception
    Signature: (Lio/dropwizard/setup/Bootstrap<TT;>;Lnet/sourceforge/argparse4j/inf/Namespace;TT;)V
    MethodParameters:
               Name  Flags
      bootstrap      
      namespace      
      configuration  

  private T parseConfiguration(io.dropwizard.configuration.ConfigurationFactoryFactory<T>, io.dropwizard.configuration.ConfigurationSourceProvider, javax.validation.Validator, java.lang.String, java.lang.Class<T>, com.fasterxml.jackson.databind.ObjectMapper);
    descriptor: (Lio/dropwizard/configuration/ConfigurationFactoryFactory;Lio/dropwizard/configuration/ConfigurationSourceProvider;Ljavax/validation/Validator;Ljava/lang/String;Ljava/lang/Class;Lcom/fasterxml/jackson/databind/ObjectMapper;)Lio/dropwizard/Configuration;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=7
        start local 0 // io.dropwizard.cli.ConfiguredCommand this
        start local 1 // io.dropwizard.configuration.ConfigurationFactoryFactory configurationFactoryFactory
        start local 2 // io.dropwizard.configuration.ConfigurationSourceProvider provider
        start local 3 // javax.validation.Validator validator
        start local 4 // java.lang.String path
        start local 5 // java.lang.Class klass
        start local 6 // com.fasterxml.jackson.databind.ObjectMapper objectMapper
         0: .line 123
            aload 1 /* configurationFactoryFactory */
         1: .line 124
            aload 5 /* klass */
            aload 3 /* validator */
            aload 6 /* objectMapper */
            ldc "dw"
            invokeinterface io.dropwizard.configuration.ConfigurationFactoryFactory.create:(Ljava/lang/Class;Ljavax/validation/Validator;Lcom/fasterxml/jackson/databind/ObjectMapper;Ljava/lang/String;)Lio/dropwizard/configuration/ConfigurationFactory;
         2: .line 123
            astore 7 /* configurationFactory */
        start local 7 // io.dropwizard.configuration.ConfigurationFactory configurationFactory
         3: .line 125
            aload 4 /* path */
            ifnull 5
         4: .line 126
            aload 7 /* configurationFactory */
            aload 2 /* provider */
            aload 4 /* path */
            invokeinterface io.dropwizard.configuration.ConfigurationFactory.build:(Lio/dropwizard/configuration/ConfigurationSourceProvider;Ljava/lang/String;)Ljava/lang/Object;
            checkcast io.dropwizard.Configuration
            areturn
         5: .line 128
      StackMap locals: io.dropwizard.configuration.ConfigurationFactory
      StackMap stack:
            aload 7 /* configurationFactory */
            invokeinterface io.dropwizard.configuration.ConfigurationFactory.build:()Ljava/lang/Object;
            checkcast io.dropwizard.Configuration
            areturn
        end local 7 // io.dropwizard.configuration.ConfigurationFactory configurationFactory
        end local 6 // com.fasterxml.jackson.databind.ObjectMapper objectMapper
        end local 5 // java.lang.Class klass
        end local 4 // java.lang.String path
        end local 3 // javax.validation.Validator validator
        end local 2 // io.dropwizard.configuration.ConfigurationSourceProvider provider
        end local 1 // io.dropwizard.configuration.ConfigurationFactoryFactory configurationFactoryFactory
        end local 0 // io.dropwizard.cli.ConfiguredCommand this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    6     0                         this  Lio/dropwizard/cli/ConfiguredCommand<TT;>;
            0    6     1  configurationFactoryFactory  Lio/dropwizard/configuration/ConfigurationFactoryFactory<TT;>;
            0    6     2                     provider  Lio/dropwizard/configuration/ConfigurationSourceProvider;
            0    6     3                    validator  Ljavax/validation/Validator;
            0    6     4                         path  Ljava/lang/String;
            0    6     5                        klass  Ljava/lang/Class<TT;>;
            0    6     6                 objectMapper  Lcom/fasterxml/jackson/databind/ObjectMapper;
            3    6     7         configurationFactory  Lio/dropwizard/configuration/ConfigurationFactory<TT;>;
    Exceptions:
      throws java.io.IOException, io.dropwizard.configuration.ConfigurationException
    Signature: (Lio/dropwizard/configuration/ConfigurationFactoryFactory<TT;>;Lio/dropwizard/configuration/ConfigurationSourceProvider;Ljavax/validation/Validator;Ljava/lang/String;Ljava/lang/Class<TT;>;Lcom/fasterxml/jackson/databind/ObjectMapper;)TT;
    MethodParameters:
                             Name  Flags
      configurationFactoryFactory  
      provider                     
      validator                    
      path                         
      klass                        
      objectMapper                 
}
Signature: <T:Lio/dropwizard/Configuration;>Lio/dropwizard/cli/Command;
SourceFile: "ConfiguredCommand.java"