public class io.dropwizard.setup.Bootstrap<T extends io.dropwizard.Configuration>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.dropwizard.setup.Bootstrap
  super_class: java.lang.Object
{
  private final io.dropwizard.Application<T> application;
    descriptor: Lio/dropwizard/Application;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/dropwizard/Application<TT;>;

  private final java.util.List<io.dropwizard.Bundle> bundles;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lio/dropwizard/Bundle;>;

  private final java.util.List<io.dropwizard.ConfiguredBundle<? super T>> configuredBundles;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lio/dropwizard/ConfiguredBundle<-TT;>;>;

  private final java.util.List<io.dropwizard.cli.Command> commands;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lio/dropwizard/cli/Command;>;

  private com.fasterxml.jackson.databind.ObjectMapper objectMapper;
    descriptor: Lcom/fasterxml/jackson/databind/ObjectMapper;
    flags: (0x0002) ACC_PRIVATE

  private com.codahale.metrics.MetricRegistry metricRegistry;
    descriptor: Lcom/codahale/metrics/MetricRegistry;
    flags: (0x0002) ACC_PRIVATE

  private io.dropwizard.configuration.ConfigurationSourceProvider configurationSourceProvider;
    descriptor: Lio/dropwizard/configuration/ConfigurationSourceProvider;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.ClassLoader classLoader;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0002) ACC_PRIVATE

  private io.dropwizard.configuration.ConfigurationFactoryFactory<T> configurationFactoryFactory;
    descriptor: Lio/dropwizard/configuration/ConfigurationFactoryFactory;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/dropwizard/configuration/ConfigurationFactoryFactory<TT;>;

  private javax.validation.ValidatorFactory validatorFactory;
    descriptor: Ljavax/validation/ValidatorFactory;
    flags: (0x0002) ACC_PRIVATE

  private boolean metricsAreRegistered;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private com.codahale.metrics.health.HealthCheckRegistry healthCheckRegistry;
    descriptor: Lcom/codahale/metrics/health/HealthCheckRegistry;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(io.dropwizard.Application<T>);
    descriptor: (Lio/dropwizard/Application;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.dropwizard.setup.Bootstrap this
        start local 1 // io.dropwizard.Application application
         0: .line 62
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 63
            aload 0 /* this */
            aload 1 /* application */
            putfield io.dropwizard.setup.Bootstrap.application:Lio/dropwizard/Application;
         2: .line 64
            aload 0 /* this */
            invokestatic io.dropwizard.jackson.Jackson.newObjectMapper:()Lcom/fasterxml/jackson/databind/ObjectMapper;
            putfield io.dropwizard.setup.Bootstrap.objectMapper:Lcom/fasterxml/jackson/databind/ObjectMapper;
         3: .line 65
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield io.dropwizard.setup.Bootstrap.bundles:Ljava/util/List;
         4: .line 66
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield io.dropwizard.setup.Bootstrap.configuredBundles:Ljava/util/List;
         5: .line 67
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield io.dropwizard.setup.Bootstrap.commands:Ljava/util/List;
         6: .line 68
            aload 0 /* this */
            invokestatic io.dropwizard.jersey.validation.Validators.newValidatorFactory:()Ljavax/validation/ValidatorFactory;
            putfield io.dropwizard.setup.Bootstrap.validatorFactory:Ljavax/validation/ValidatorFactory;
         7: .line 69
            aload 0 /* this */
            new com.codahale.metrics.MetricRegistry
            dup
            invokespecial com.codahale.metrics.MetricRegistry.<init>:()V
            putfield io.dropwizard.setup.Bootstrap.metricRegistry:Lcom/codahale/metrics/MetricRegistry;
         8: .line 70
            aload 0 /* this */
            new io.dropwizard.configuration.FileConfigurationSourceProvider
            dup
            invokespecial io.dropwizard.configuration.FileConfigurationSourceProvider.<init>:()V
            putfield io.dropwizard.setup.Bootstrap.configurationSourceProvider:Lio/dropwizard/configuration/ConfigurationSourceProvider;
         9: .line 71
            aload 0 /* this */
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            putfield io.dropwizard.setup.Bootstrap.classLoader:Ljava/lang/ClassLoader;
        10: .line 72
            aload 0 /* this */
            new io.dropwizard.configuration.DefaultConfigurationFactoryFactory
            dup
            invokespecial io.dropwizard.configuration.DefaultConfigurationFactoryFactory.<init>:()V
            putfield io.dropwizard.setup.Bootstrap.configurationFactoryFactory:Lio/dropwizard/configuration/ConfigurationFactoryFactory;
        11: .line 73
            aload 0 /* this */
            new com.codahale.metrics.health.HealthCheckRegistry
            dup
            invokespecial com.codahale.metrics.health.HealthCheckRegistry.<init>:()V
            putfield io.dropwizard.setup.Bootstrap.healthCheckRegistry:Lcom/codahale/metrics/health/HealthCheckRegistry;
        12: .line 74
            return
        end local 1 // io.dropwizard.Application application
        end local 0 // io.dropwizard.setup.Bootstrap this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Lio/dropwizard/setup/Bootstrap<TT;>;
            0   13     1  application  Lio/dropwizard/Application<TT;>;
    Signature: (Lio/dropwizard/Application<TT;>;)V
    MethodParameters:
             Name  Flags
      application  

  public void registerMetrics();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // io.dropwizard.setup.Bootstrap this
         0: .line 81
            aload 0 /* this */
            getfield io.dropwizard.setup.Bootstrap.metricsAreRegistered:Z
            ifeq 2
         1: .line 82
            return
         2: .line 84
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.dropwizard.setup.Bootstrap.getMetricRegistry:()Lcom/codahale/metrics/MetricRegistry;
            ldc "jvm.attribute"
            new com.codahale.metrics.jvm.JvmAttributeGaugeSet
            dup
            invokespecial com.codahale.metrics.jvm.JvmAttributeGaugeSet.<init>:()V
            invokevirtual com.codahale.metrics.MetricRegistry.register:(Ljava/lang/String;Lcom/codahale/metrics/Metric;)Lcom/codahale/metrics/Metric;
            pop
         3: .line 85
            aload 0 /* this */
            invokevirtual io.dropwizard.setup.Bootstrap.getMetricRegistry:()Lcom/codahale/metrics/MetricRegistry;
            ldc "jvm.buffers"
            new com.codahale.metrics.jvm.BufferPoolMetricSet
            dup
         4: .line 86
            invokestatic java.lang.management.ManagementFactory.getPlatformMBeanServer:()Ljavax/management/MBeanServer;
            invokespecial com.codahale.metrics.jvm.BufferPoolMetricSet.<init>:(Ljavax/management/MBeanServer;)V
         5: .line 85
            invokevirtual com.codahale.metrics.MetricRegistry.register:(Ljava/lang/String;Lcom/codahale/metrics/Metric;)Lcom/codahale/metrics/Metric;
            pop
         6: .line 87
            aload 0 /* this */
            invokevirtual io.dropwizard.setup.Bootstrap.getMetricRegistry:()Lcom/codahale/metrics/MetricRegistry;
            ldc "jvm.classloader"
            new com.codahale.metrics.jvm.ClassLoadingGaugeSet
            dup
            invokespecial com.codahale.metrics.jvm.ClassLoadingGaugeSet.<init>:()V
            invokevirtual com.codahale.metrics.MetricRegistry.register:(Ljava/lang/String;Lcom/codahale/metrics/Metric;)Lcom/codahale/metrics/Metric;
            pop
         7: .line 88
            aload 0 /* this */
            invokevirtual io.dropwizard.setup.Bootstrap.getMetricRegistry:()Lcom/codahale/metrics/MetricRegistry;
            ldc "jvm.filedescriptor"
            new com.codahale.metrics.jvm.FileDescriptorRatioGauge
            dup
            invokespecial com.codahale.metrics.jvm.FileDescriptorRatioGauge.<init>:()V
            invokevirtual com.codahale.metrics.MetricRegistry.register:(Ljava/lang/String;Lcom/codahale/metrics/Metric;)Lcom/codahale/metrics/Metric;
            pop
         8: .line 89
            aload 0 /* this */
            invokevirtual io.dropwizard.setup.Bootstrap.getMetricRegistry:()Lcom/codahale/metrics/MetricRegistry;
            ldc "jvm.gc"
            new com.codahale.metrics.jvm.GarbageCollectorMetricSet
            dup
            invokespecial com.codahale.metrics.jvm.GarbageCollectorMetricSet.<init>:()V
            invokevirtual com.codahale.metrics.MetricRegistry.register:(Ljava/lang/String;Lcom/codahale/metrics/Metric;)Lcom/codahale/metrics/Metric;
            pop
         9: .line 90
            aload 0 /* this */
            invokevirtual io.dropwizard.setup.Bootstrap.getMetricRegistry:()Lcom/codahale/metrics/MetricRegistry;
            ldc "jvm.memory"
            new com.codahale.metrics.jvm.MemoryUsageGaugeSet
            dup
            invokespecial com.codahale.metrics.jvm.MemoryUsageGaugeSet.<init>:()V
            invokevirtual com.codahale.metrics.MetricRegistry.register:(Ljava/lang/String;Lcom/codahale/metrics/Metric;)Lcom/codahale/metrics/Metric;
            pop
        10: .line 91
            aload 0 /* this */
            invokevirtual io.dropwizard.setup.Bootstrap.getMetricRegistry:()Lcom/codahale/metrics/MetricRegistry;
            ldc "jvm.threads"
            new com.codahale.metrics.jvm.ThreadStatesGaugeSet
            dup
            invokespecial com.codahale.metrics.jvm.ThreadStatesGaugeSet.<init>:()V
            invokevirtual com.codahale.metrics.MetricRegistry.register:(Ljava/lang/String;Lcom/codahale/metrics/Metric;)Lcom/codahale/metrics/Metric;
            pop
        11: .line 93
            aload 0 /* this */
            getfield io.dropwizard.setup.Bootstrap.metricRegistry:Lcom/codahale/metrics/MetricRegistry;
            invokestatic com.codahale.metrics.jmx.JmxReporter.forRegistry:(Lcom/codahale/metrics/MetricRegistry;)Lcom/codahale/metrics/jmx/JmxReporter$Builder;
            invokevirtual com.codahale.metrics.jmx.JmxReporter$Builder.build:()Lcom/codahale/metrics/jmx/JmxReporter;
            invokevirtual com.codahale.metrics.jmx.JmxReporter.start:()V
        12: .line 94
            aload 0 /* this */
            iconst_1
            putfield io.dropwizard.setup.Bootstrap.metricsAreRegistered:Z
        13: .line 95
            return
        end local 0 // io.dropwizard.setup.Bootstrap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lio/dropwizard/setup/Bootstrap<TT;>;

  public io.dropwizard.Application<T> getApplication();
    descriptor: ()Lio/dropwizard/Application;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.dropwizard.setup.Bootstrap this
         0: .line 101
            aload 0 /* this */
            getfield io.dropwizard.setup.Bootstrap.application:Lio/dropwizard/Application;
            areturn
        end local 0 // io.dropwizard.setup.Bootstrap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/dropwizard/setup/Bootstrap<TT;>;
    Signature: ()Lio/dropwizard/Application<TT;>;

  public io.dropwizard.configuration.ConfigurationSourceProvider getConfigurationSourceProvider();
    descriptor: ()Lio/dropwizard/configuration/ConfigurationSourceProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.dropwizard.setup.Bootstrap this
         0: .line 108
            aload 0 /* this */
            getfield io.dropwizard.setup.Bootstrap.configurationSourceProvider:Lio/dropwizard/configuration/ConfigurationSourceProvider;
            areturn
        end local 0 // io.dropwizard.setup.Bootstrap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/dropwizard/setup/Bootstrap<TT;>;

  public void setConfigurationSourceProvider(io.dropwizard.configuration.ConfigurationSourceProvider);
    descriptor: (Lio/dropwizard/configuration/ConfigurationSourceProvider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.dropwizard.setup.Bootstrap this
        start local 1 // io.dropwizard.configuration.ConfigurationSourceProvider provider
         0: .line 115
            aload 0 /* this */
            aload 1 /* provider */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.dropwizard.configuration.ConfigurationSourceProvider
            putfield io.dropwizard.setup.Bootstrap.configurationSourceProvider:Lio/dropwizard/configuration/ConfigurationSourceProvider;
         1: .line 116
            return
        end local 1 // io.dropwizard.configuration.ConfigurationSourceProvider provider
        end local 0 // io.dropwizard.setup.Bootstrap this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/dropwizard/setup/Bootstrap<TT;>;
            0    2     1  provider  Lio/dropwizard/configuration/ConfigurationSourceProvider;
    MethodParameters:
          Name  Flags
      provider  

  public java.lang.ClassLoader getClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.dropwizard.setup.Bootstrap this
         0: .line 122
            aload 0 /* this */
            getfield io.dropwizard.setup.Bootstrap.classLoader:Ljava/lang/ClassLoader;
            areturn
        end local 0 // io.dropwizard.setup.Bootstrap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/dropwizard/setup/Bootstrap<TT;>;

  public void setClassLoader(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.dropwizard.setup.Bootstrap this
        start local 1 // java.lang.ClassLoader classLoader
         0: .line 129
            aload 0 /* this */
            aload 1 /* classLoader */
            putfield io.dropwizard.setup.Bootstrap.classLoader:Ljava/lang/ClassLoader;
         1: .line 130
            return
        end local 1 // java.lang.ClassLoader classLoader
        end local 0 // io.dropwizard.setup.Bootstrap this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lio/dropwizard/setup/Bootstrap<TT;>;
            0    2     1  classLoader  Ljava/lang/ClassLoader;
    MethodParameters:
             Name  Flags
      classLoader  

  public void addBundle(io.dropwizard.Bundle);
    descriptor: (Lio/dropwizard/Bundle;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.dropwizard.setup.Bootstrap this
        start local 1 // io.dropwizard.Bundle bundle
         0: .line 138
            aload 1 /* bundle */
            aload 0 /* this */
            invokeinterface io.dropwizard.Bundle.initialize:(Lio/dropwizard/setup/Bootstrap;)V
         1: .line 139
            aload 0 /* this */
            getfield io.dropwizard.setup.Bootstrap.bundles:Ljava/util/List;
            aload 1 /* bundle */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 140
            return
        end local 1 // io.dropwizard.Bundle bundle
        end local 0 // io.dropwizard.setup.Bootstrap this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lio/dropwizard/setup/Bootstrap<TT;>;
            0    3     1  bundle  Lio/dropwizard/Bundle;
    MethodParameters:
        Name  Flags
      bundle  

  public void addBundle(io.dropwizard.ConfiguredBundle<? super T>);
    descriptor: (Lio/dropwizard/ConfiguredBundle;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.dropwizard.setup.Bootstrap this
        start local 1 // io.dropwizard.ConfiguredBundle bundle
         0: .line 148
            aload 1 /* bundle */
            aload 0 /* this */
            invokeinterface io.dropwizard.ConfiguredBundle.initialize:(Lio/dropwizard/setup/Bootstrap;)V
         1: .line 149
            aload 0 /* this */
            getfield io.dropwizard.setup.Bootstrap.configuredBundles:Ljava/util/List;
            aload 1 /* bundle */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 150
            return
        end local 1 // io.dropwizard.ConfiguredBundle bundle
        end local 0 // io.dropwizard.setup.Bootstrap this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lio/dropwizard/setup/Bootstrap<TT;>;
            0    3     1  bundle  Lio/dropwizard/ConfiguredBundle<-TT;>;
    Signature: (Lio/dropwizard/ConfiguredBundle<-TT;>;)V
    MethodParameters:
        Name  Flags
      bundle  

  public void addCommand(io.dropwizard.cli.Command);
    descriptor: (Lio/dropwizard/cli/Command;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.dropwizard.setup.Bootstrap this
        start local 1 // io.dropwizard.cli.Command command
         0: .line 158
            aload 0 /* this */
            getfield io.dropwizard.setup.Bootstrap.commands:Ljava/util/List;
            aload 1 /* command */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 159
            return
        end local 1 // io.dropwizard.cli.Command command
        end local 0 // io.dropwizard.setup.Bootstrap this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/dropwizard/setup/Bootstrap<TT;>;
            0    2     1  command  Lio/dropwizard/cli/Command;
    MethodParameters:
         Name  Flags
      command  

  public void addCommand(io.dropwizard.cli.ConfiguredCommand<T>);
    descriptor: (Lio/dropwizard/cli/ConfiguredCommand;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.dropwizard.setup.Bootstrap this
        start local 1 // io.dropwizard.cli.ConfiguredCommand command
         0: .line 167
            aload 0 /* this */
            getfield io.dropwizard.setup.Bootstrap.commands:Ljava/util/List;
            aload 1 /* command */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 168
            return
        end local 1 // io.dropwizard.cli.ConfiguredCommand command
        end local 0 // io.dropwizard.setup.Bootstrap this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/dropwizard/setup/Bootstrap<TT;>;
            0    2     1  command  Lio/dropwizard/cli/ConfiguredCommand<TT;>;
    Signature: (Lio/dropwizard/cli/ConfiguredCommand<TT;>;)V
    MethodParameters:
         Name  Flags
      command  

  public com.fasterxml.jackson.databind.ObjectMapper getObjectMapper();
    descriptor: ()Lcom/fasterxml/jackson/databind/ObjectMapper;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.dropwizard.setup.Bootstrap this
         0: .line 174
            aload 0 /* this */
            getfield io.dropwizard.setup.Bootstrap.objectMapper:Lcom/fasterxml/jackson/databind/ObjectMapper;
            areturn
        end local 0 // io.dropwizard.setup.Bootstrap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/dropwizard/setup/Bootstrap<TT;>;

  public void setObjectMapper(com.fasterxml.jackson.databind.ObjectMapper);
    descriptor: (Lcom/fasterxml/jackson/databind/ObjectMapper;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.dropwizard.setup.Bootstrap this
        start local 1 // com.fasterxml.jackson.databind.ObjectMapper objectMapper
         0: .line 185
            aload 0 /* this */
            aload 1 /* objectMapper */
            putfield io.dropwizard.setup.Bootstrap.objectMapper:Lcom/fasterxml/jackson/databind/ObjectMapper;
         1: .line 186
            return
        end local 1 // com.fasterxml.jackson.databind.ObjectMapper objectMapper
        end local 0 // io.dropwizard.setup.Bootstrap this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lio/dropwizard/setup/Bootstrap<TT;>;
            0    2     1  objectMapper  Lcom/fasterxml/jackson/databind/ObjectMapper;
    MethodParameters:
              Name  Flags
      objectMapper  

  public void run(T, io.dropwizard.setup.Environment);
    descriptor: (Lio/dropwizard/Configuration;Lio/dropwizard/setup/Environment;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // io.dropwizard.setup.Bootstrap this
        start local 1 // io.dropwizard.Configuration configuration
        start local 2 // io.dropwizard.setup.Environment environment
         0: .line 196
            aload 0 /* this */
            getfield io.dropwizard.setup.Bootstrap.bundles:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 3
      StackMap locals: io.dropwizard.setup.Bootstrap io.dropwizard.Configuration io.dropwizard.setup.Environment top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.dropwizard.Bundle
            astore 3 /* bundle */
        start local 3 // io.dropwizard.Bundle bundle
         2: .line 197
            aload 3 /* bundle */
            aload 2 /* environment */
            invokeinterface io.dropwizard.Bundle.run:(Lio/dropwizard/setup/Environment;)V
        end local 3 // io.dropwizard.Bundle bundle
         3: .line 196
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 199
            aload 0 /* this */
            getfield io.dropwizard.setup.Bootstrap.configuredBundles:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals:
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.dropwizard.ConfiguredBundle
            astore 3 /* bundle */
        start local 3 // io.dropwizard.ConfiguredBundle bundle
         6: .line 200
            aload 3 /* bundle */
            aload 1 /* configuration */
            aload 2 /* environment */
            invokeinterface io.dropwizard.ConfiguredBundle.run:(Ljava/lang/Object;Lio/dropwizard/setup/Environment;)V
        end local 3 // io.dropwizard.ConfiguredBundle bundle
         7: .line 199
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 202
            return
        end local 2 // io.dropwizard.setup.Environment environment
        end local 1 // io.dropwizard.Configuration configuration
        end local 0 // io.dropwizard.setup.Bootstrap this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lio/dropwizard/setup/Bootstrap<TT;>;
            0    9     1  configuration  TT;
            0    9     2    environment  Lio/dropwizard/setup/Environment;
            2    3     3         bundle  Lio/dropwizard/Bundle;
            6    7     3         bundle  Lio/dropwizard/ConfiguredBundle<-TT;>;
    Exceptions:
      throws java.lang.Exception
    Signature: (TT;Lio/dropwizard/setup/Environment;)V
    MethodParameters:
               Name  Flags
      configuration  
      environment    

  public com.google.common.collect.ImmutableList<io.dropwizard.cli.Command> getCommands();
    descriptor: ()Lcom/google/common/collect/ImmutableList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.dropwizard.setup.Bootstrap this
         0: .line 208
            aload 0 /* this */
            getfield io.dropwizard.setup.Bootstrap.commands:Ljava/util/List;
            invokestatic com.google.common.collect.ImmutableList.copyOf:(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableList;
            areturn
        end local 0 // io.dropwizard.setup.Bootstrap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/dropwizard/setup/Bootstrap<TT;>;
    Signature: ()Lcom/google/common/collect/ImmutableList<Lio/dropwizard/cli/Command;>;

  public com.codahale.metrics.MetricRegistry getMetricRegistry();
    descriptor: ()Lcom/codahale/metrics/MetricRegistry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.dropwizard.setup.Bootstrap this
         0: .line 215
            aload 0 /* this */
            getfield io.dropwizard.setup.Bootstrap.metricRegistry:Lcom/codahale/metrics/MetricRegistry;
            areturn
        end local 0 // io.dropwizard.setup.Bootstrap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/dropwizard/setup/Bootstrap<TT;>;

  public void setMetricRegistry(com.codahale.metrics.MetricRegistry);
    descriptor: (Lcom/codahale/metrics/MetricRegistry;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.dropwizard.setup.Bootstrap this
        start local 1 // com.codahale.metrics.MetricRegistry metricRegistry
         0: .line 224
            aload 0 /* this */
            aload 1 /* metricRegistry */
            putfield io.dropwizard.setup.Bootstrap.metricRegistry:Lcom/codahale/metrics/MetricRegistry;
         1: .line 225
            return
        end local 1 // com.codahale.metrics.MetricRegistry metricRegistry
        end local 0 // io.dropwizard.setup.Bootstrap this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lio/dropwizard/setup/Bootstrap<TT;>;
            0    2     1  metricRegistry  Lcom/codahale/metrics/MetricRegistry;
    MethodParameters:
                Name  Flags
      metricRegistry  

  public javax.validation.ValidatorFactory getValidatorFactory();
    descriptor: ()Ljavax/validation/ValidatorFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.dropwizard.setup.Bootstrap this
         0: .line 231
            aload 0 /* this */
            getfield io.dropwizard.setup.Bootstrap.validatorFactory:Ljavax/validation/ValidatorFactory;
            areturn
        end local 0 // io.dropwizard.setup.Bootstrap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/dropwizard/setup/Bootstrap<TT;>;

  public void setValidatorFactory(javax.validation.ValidatorFactory);
    descriptor: (Ljavax/validation/ValidatorFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.dropwizard.setup.Bootstrap this
        start local 1 // javax.validation.ValidatorFactory validatorFactory
         0: .line 235
            aload 0 /* this */
            aload 1 /* validatorFactory */
            putfield io.dropwizard.setup.Bootstrap.validatorFactory:Ljavax/validation/ValidatorFactory;
         1: .line 236
            return
        end local 1 // javax.validation.ValidatorFactory validatorFactory
        end local 0 // io.dropwizard.setup.Bootstrap this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lio/dropwizard/setup/Bootstrap<TT;>;
            0    2     1  validatorFactory  Ljavax/validation/ValidatorFactory;
    MethodParameters:
                  Name  Flags
      validatorFactory  

  public io.dropwizard.configuration.ConfigurationFactoryFactory<T> getConfigurationFactoryFactory();
    descriptor: ()Lio/dropwizard/configuration/ConfigurationFactoryFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.dropwizard.setup.Bootstrap this
         0: .line 239
            aload 0 /* this */
            getfield io.dropwizard.setup.Bootstrap.configurationFactoryFactory:Lio/dropwizard/configuration/ConfigurationFactoryFactory;
            areturn
        end local 0 // io.dropwizard.setup.Bootstrap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/dropwizard/setup/Bootstrap<TT;>;
    Signature: ()Lio/dropwizard/configuration/ConfigurationFactoryFactory<TT;>;

  public void setConfigurationFactoryFactory(io.dropwizard.configuration.ConfigurationFactoryFactory<T>);
    descriptor: (Lio/dropwizard/configuration/ConfigurationFactoryFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.dropwizard.setup.Bootstrap this
        start local 1 // io.dropwizard.configuration.ConfigurationFactoryFactory configurationFactoryFactory
         0: .line 243
            aload 0 /* this */
            aload 1 /* configurationFactoryFactory */
            putfield io.dropwizard.setup.Bootstrap.configurationFactoryFactory:Lio/dropwizard/configuration/ConfigurationFactoryFactory;
         1: .line 244
            return
        end local 1 // io.dropwizard.configuration.ConfigurationFactoryFactory configurationFactoryFactory
        end local 0 // io.dropwizard.setup.Bootstrap this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    2     0                         this  Lio/dropwizard/setup/Bootstrap<TT;>;
            0    2     1  configurationFactoryFactory  Lio/dropwizard/configuration/ConfigurationFactoryFactory<TT;>;
    Signature: (Lio/dropwizard/configuration/ConfigurationFactoryFactory<TT;>;)V
    MethodParameters:
                             Name  Flags
      configurationFactoryFactory  

  public com.codahale.metrics.health.HealthCheckRegistry getHealthCheckRegistry();
    descriptor: ()Lcom/codahale/metrics/health/HealthCheckRegistry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.dropwizard.setup.Bootstrap this
         0: .line 250
            aload 0 /* this */
            getfield io.dropwizard.setup.Bootstrap.healthCheckRegistry:Lcom/codahale/metrics/health/HealthCheckRegistry;
            areturn
        end local 0 // io.dropwizard.setup.Bootstrap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/dropwizard/setup/Bootstrap<TT;>;

  public void setHealthCheckRegistry(com.codahale.metrics.health.HealthCheckRegistry);
    descriptor: (Lcom/codahale/metrics/health/HealthCheckRegistry;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.dropwizard.setup.Bootstrap this
        start local 1 // com.codahale.metrics.health.HealthCheckRegistry healthCheckRegistry
         0: .line 254
            aload 0 /* this */
            aload 1 /* healthCheckRegistry */
            putfield io.dropwizard.setup.Bootstrap.healthCheckRegistry:Lcom/codahale/metrics/health/HealthCheckRegistry;
         1: .line 255
            return
        end local 1 // com.codahale.metrics.health.HealthCheckRegistry healthCheckRegistry
        end local 0 // io.dropwizard.setup.Bootstrap this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lio/dropwizard/setup/Bootstrap<TT;>;
            0    2     1  healthCheckRegistry  Lcom/codahale/metrics/health/HealthCheckRegistry;
    MethodParameters:
                     Name  Flags
      healthCheckRegistry  
}
Signature: <T:Lio/dropwizard/Configuration;>Ljava/lang/Object;
SourceFile: "Bootstrap.java"
InnerClasses:
  public Builder = com.codahale.metrics.jmx.JmxReporter$Builder of com.codahale.metrics.jmx.JmxReporter