public abstract class io.dropwizard.Application<T extends io.dropwizard.Configuration>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: io.dropwizard.Application
  super_class: java.lang.Object
{
  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.dropwizard.Application this
         0: .line 25
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 26
            aload 0 /* this */
            invokevirtual io.dropwizard.Application.bootstrapLogging:()V
         2: .line 27
            return
        end local 0 // io.dropwizard.Application this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/dropwizard/Application<TT;>;

  protected ch.qos.logback.classic.Level bootstrapLogLevel();
    descriptor: ()Lch/qos/logback/classic/Level;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.dropwizard.Application this
         0: .line 33
            getstatic ch.qos.logback.classic.Level.WARN:Lch/qos/logback/classic/Level;
            areturn
        end local 0 // io.dropwizard.Application this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/dropwizard/Application<TT;>;

  protected void bootstrapLogging();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.dropwizard.Application this
         0: .line 38
            aload 0 /* this */
            invokevirtual io.dropwizard.Application.bootstrapLogLevel:()Lch/qos/logback/classic/Level;
            invokestatic io.dropwizard.logging.BootstrapLogging.bootstrap:(Lch/qos/logback/classic/Level;)V
         1: .line 39
            return
        end local 0 // io.dropwizard.Application this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/dropwizard/Application<TT;>;

  public java.lang.Class<T> getConfigurationClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.dropwizard.Application this
         0: .line 48
            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.Application this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/dropwizard/Application<TT;>;
    Signature: ()Ljava/lang/Class<TT;>;

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.dropwizard.Application this
         0: .line 57
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            areturn
        end local 0 // io.dropwizard.Application this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/dropwizard/Application<TT;>;

  public void initialize(io.dropwizard.setup.Bootstrap<T>);
    descriptor: (Lio/dropwizard/setup/Bootstrap;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // io.dropwizard.Application this
        start local 1 // io.dropwizard.setup.Bootstrap bootstrap
         0: .line 66
            return
        end local 1 // io.dropwizard.setup.Bootstrap bootstrap
        end local 0 // io.dropwizard.Application this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lio/dropwizard/Application<TT;>;
            0    1     1  bootstrap  Lio/dropwizard/setup/Bootstrap<TT;>;
    Signature: (Lio/dropwizard/setup/Bootstrap<TT;>;)V
    MethodParameters:
           Name  Flags
      bootstrap  

  public abstract void run(T, io.dropwizard.setup.Environment);
    descriptor: (Lio/dropwizard/Configuration;Lio/dropwizard/setup/Environment;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.lang.Exception
    Signature: (TT;Lio/dropwizard/setup/Environment;)V
    MethodParameters:
               Name  Flags
      configuration  
      environment    

  public void run(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // io.dropwizard.Application this
        start local 1 // java.lang.String[] arguments
         0: .line 86
            new io.dropwizard.setup.Bootstrap
            dup
            aload 0 /* this */
            invokespecial io.dropwizard.setup.Bootstrap.<init>:(Lio/dropwizard/Application;)V
            astore 2 /* bootstrap */
        start local 2 // io.dropwizard.setup.Bootstrap bootstrap
         1: .line 87
            aload 0 /* this */
            aload 2 /* bootstrap */
            invokevirtual io.dropwizard.Application.addDefaultCommands:(Lio/dropwizard/setup/Bootstrap;)V
         2: .line 88
            aload 0 /* this */
            aload 2 /* bootstrap */
            invokevirtual io.dropwizard.Application.initialize:(Lio/dropwizard/setup/Bootstrap;)V
         3: .line 90
            aload 2 /* bootstrap */
            invokevirtual io.dropwizard.setup.Bootstrap.registerMetrics:()V
         4: .line 92
            new io.dropwizard.cli.Cli
            dup
            new io.dropwizard.util.JarLocation
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokespecial io.dropwizard.util.JarLocation.<init>:(Ljava/lang/Class;)V
            aload 2 /* bootstrap */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokespecial io.dropwizard.cli.Cli.<init>:(Lio/dropwizard/util/JarLocation;Lio/dropwizard/setup/Bootstrap;Ljava/io/OutputStream;Ljava/io/OutputStream;)V
            astore 3 /* cli */
        start local 3 // io.dropwizard.cli.Cli cli
         5: .line 93
            aload 3 /* cli */
            aload 1 /* arguments */
            invokevirtual io.dropwizard.cli.Cli.run:([Ljava/lang/String;)Z
            ifne 7
         6: .line 95
            aload 0 /* this */
            invokevirtual io.dropwizard.Application.onFatalError:()V
         7: .line 97
      StackMap locals: io.dropwizard.setup.Bootstrap io.dropwizard.cli.Cli
      StackMap stack:
            return
        end local 3 // io.dropwizard.cli.Cli cli
        end local 2 // io.dropwizard.setup.Bootstrap bootstrap
        end local 1 // java.lang.String[] arguments
        end local 0 // io.dropwizard.Application this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lio/dropwizard/Application<TT;>;
            0    8     1  arguments  [Ljava/lang/String;
            1    8     2  bootstrap  Lio/dropwizard/setup/Bootstrap<TT;>;
            5    8     3        cli  Lio/dropwizard/cli/Cli;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
           Name  Flags
      arguments  

  protected void addDefaultCommands(io.dropwizard.setup.Bootstrap<T>);
    descriptor: (Lio/dropwizard/setup/Bootstrap;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.dropwizard.Application this
        start local 1 // io.dropwizard.setup.Bootstrap bootstrap
         0: .line 105
            aload 1 /* bootstrap */
            new io.dropwizard.cli.ServerCommand
            dup
            aload 0 /* this */
            invokespecial io.dropwizard.cli.ServerCommand.<init>:(Lio/dropwizard/Application;)V
            invokevirtual io.dropwizard.setup.Bootstrap.addCommand:(Lio/dropwizard/cli/ConfiguredCommand;)V
         1: .line 106
            aload 1 /* bootstrap */
            new io.dropwizard.cli.CheckCommand
            dup
            aload 0 /* this */
            invokespecial io.dropwizard.cli.CheckCommand.<init>:(Lio/dropwizard/Application;)V
            invokevirtual io.dropwizard.setup.Bootstrap.addCommand:(Lio/dropwizard/cli/ConfiguredCommand;)V
         2: .line 107
            return
        end local 1 // io.dropwizard.setup.Bootstrap bootstrap
        end local 0 // io.dropwizard.Application this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lio/dropwizard/Application<TT;>;
            0    3     1  bootstrap  Lio/dropwizard/setup/Bootstrap<TT;>;
    Signature: (Lio/dropwizard/setup/Bootstrap<TT;>;)V
    MethodParameters:
           Name  Flags
      bootstrap  

  protected void onFatalError();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.dropwizard.Application this
         0: .line 116
            iconst_1
            invokestatic java.lang.System.exit:(I)V
         1: .line 117
            return
        end local 0 // io.dropwizard.Application this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/dropwizard/Application<TT;>;
}
Signature: <T:Lio/dropwizard/Configuration;>Ljava/lang/Object;
SourceFile: "Application.java"