class io.vertx.ext.dropwizard.impl.RegistryHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.vertx.ext.dropwizard.impl.RegistryHelper
  super_class: java.lang.Object
{
  private static final java.util.function.Function<com.codahale.metrics.Metric, io.vertx.ext.dropwizard.ThroughputMeter> THROUGHPUT_METER;
    descriptor: Ljava/util/function/Function;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/function/Function<Lcom/codahale/metrics/Metric;Lio/vertx/ext/dropwizard/ThroughputMeter;>;

  private static final java.util.function.Function<com.codahale.metrics.Metric, io.vertx.ext.dropwizard.ThroughputTimer> THROUGHPUT_TIMER;
    descriptor: Ljava/util/function/Function;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/function/Function<Lcom/codahale/metrics/Metric;Lio/vertx/ext/dropwizard/ThroughputTimer;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 31
            invokedynamic apply()Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  io/vertx/ext/dropwizard/impl/RegistryHelper.lambda$0(Lcom/codahale/metrics/Metric;)Lio/vertx/ext/dropwizard/ThroughputMeter; (6)
                  (Lcom/codahale/metrics/Metric;)Lio/vertx/ext/dropwizard/ThroughputMeter;
            putstatic io.vertx.ext.dropwizard.impl.RegistryHelper.THROUGHPUT_METER:Ljava/util/function/Function;
         1: .line 39
            invokedynamic apply()Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  io/vertx/ext/dropwizard/impl/RegistryHelper.lambda$1(Lcom/codahale/metrics/Metric;)Lio/vertx/ext/dropwizard/ThroughputTimer; (6)
                  (Lcom/codahale/metrics/Metric;)Lio/vertx/ext/dropwizard/ThroughputTimer;
            putstatic io.vertx.ext.dropwizard.impl.RegistryHelper.THROUGHPUT_TIMER:Ljava/util/function/Function;
         2: .line 45
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.dropwizard.impl.RegistryHelper this
         0: .line 29
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.vertx.ext.dropwizard.impl.RegistryHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/dropwizard/impl/RegistryHelper;

  public static void shutdown(com.codahale.metrics.MetricRegistry);
    descriptor: (Lcom/codahale/metrics/MetricRegistry;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.codahale.metrics.MetricRegistry registry
         0: .line 48
            aload 0 /* registry */
            invokedynamic matches()Lcom/codahale/metrics/MetricFilter;
              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/String;Lcom/codahale/metrics/Metric;)Z
                  io/vertx/ext/dropwizard/impl/RegistryHelper.lambda$2(Ljava/lang/String;Lcom/codahale/metrics/Metric;)Z (6)
                  (Ljava/lang/String;Lcom/codahale/metrics/Metric;)Z
            invokevirtual com.codahale.metrics.MetricRegistry.removeMatching:(Lcom/codahale/metrics/MetricFilter;)V
         1: .line 49
            return
        end local 0 // com.codahale.metrics.MetricRegistry registry
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  registry  Lcom/codahale/metrics/MetricRegistry;
    MethodParameters:
          Name  Flags
      registry  

  public static io.vertx.ext.dropwizard.ThroughputMeter throughputMeter(com.codahale.metrics.MetricRegistry, java.lang.String);
    descriptor: (Lcom/codahale/metrics/MetricRegistry;Ljava/lang/String;)Lio/vertx/ext/dropwizard/ThroughputMeter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.codahale.metrics.MetricRegistry registry
        start local 1 // java.lang.String name
         0: .line 52
            aload 0 /* registry */
            aload 1 /* name */
            getstatic io.vertx.ext.dropwizard.impl.RegistryHelper.THROUGHPUT_METER:Ljava/util/function/Function;
            invokestatic io.vertx.ext.dropwizard.impl.RegistryHelper.getOrAdd:(Lcom/codahale/metrics/MetricRegistry;Ljava/lang/String;Ljava/util/function/Function;)Lcom/codahale/metrics/Metric;
            checkcast io.vertx.ext.dropwizard.ThroughputMeter
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.codahale.metrics.MetricRegistry registry
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  registry  Lcom/codahale/metrics/MetricRegistry;
            0    1     1      name  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      registry  
      name      

  public static io.vertx.ext.dropwizard.ThroughputTimer throughputTimer(com.codahale.metrics.MetricRegistry, java.lang.String);
    descriptor: (Lcom/codahale/metrics/MetricRegistry;Ljava/lang/String;)Lio/vertx/ext/dropwizard/ThroughputTimer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.codahale.metrics.MetricRegistry registry
        start local 1 // java.lang.String name
         0: .line 56
            aload 0 /* registry */
            aload 1 /* name */
            getstatic io.vertx.ext.dropwizard.impl.RegistryHelper.THROUGHPUT_TIMER:Ljava/util/function/Function;
            invokestatic io.vertx.ext.dropwizard.impl.RegistryHelper.getOrAdd:(Lcom/codahale/metrics/MetricRegistry;Ljava/lang/String;Ljava/util/function/Function;)Lcom/codahale/metrics/Metric;
            checkcast io.vertx.ext.dropwizard.ThroughputTimer
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.codahale.metrics.MetricRegistry registry
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  registry  Lcom/codahale/metrics/MetricRegistry;
            0    1     1      name  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      registry  
      name      

  public static <M extends com.codahale.metrics.Metric> M getOrAdd(com.codahale.metrics.MetricRegistry, java.lang.String, java.util.function.Function<com.codahale.metrics.Metric, M>);
    descriptor: (Lcom/codahale/metrics/MetricRegistry;Ljava/lang/String;Ljava/util/function/Function;)Lcom/codahale/metrics/Metric;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.codahale.metrics.MetricRegistry registry
        start local 1 // java.lang.String name
        start local 2 // java.util.function.Function metricProvider
         0: .line 60
            aload 0 /* registry */
            invokevirtual com.codahale.metrics.MetricRegistry.getMetrics:()Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.codahale.metrics.Metric
            astore 3 /* metric */
        start local 3 // com.codahale.metrics.Metric metric
         1: .line 61
            aload 3 /* metric */
            ifnull 2
            aload 2 /* metricProvider */
            aload 3 /* metric */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.codahale.metrics.Metric
            goto 3
      StackMap locals: com.codahale.metrics.Metric
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: com.codahale.metrics.Metric
         3: astore 4 /* found */
        start local 4 // com.codahale.metrics.Metric found
         4: .line 62
            aload 4 /* found */
            ifnull 6
         5: .line 63
            aload 4 /* found */
            areturn
         6: .line 64
      StackMap locals: com.codahale.metrics.Metric
      StackMap stack:
            aload 3 /* metric */
            ifnonnull 14
         7: .line 66
            aload 0 /* registry */
            aload 1 /* name */
            aload 2 /* metricProvider */
            aconst_null
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.codahale.metrics.Metric
            invokevirtual com.codahale.metrics.MetricRegistry.register:(Ljava/lang/String;Lcom/codahale/metrics/Metric;)Lcom/codahale/metrics/Metric;
         8: areturn
         9: .line 67
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            pop
        10: .line 68
            aload 0 /* registry */
            invokevirtual com.codahale.metrics.MetricRegistry.getMetrics:()Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.codahale.metrics.Metric
            astore 3 /* metric */
        11: .line 69
            aload 2 /* metricProvider */
            aload 3 /* metric */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.codahale.metrics.Metric
            astore 4 /* found */
        12: .line 70
            aload 4 /* found */
            ifnull 14
        13: .line 71
            aload 4 /* found */
            areturn
        14: .line 75
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " is already used for a different type of metric"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // com.codahale.metrics.Metric found
        end local 3 // com.codahale.metrics.Metric metric
        end local 2 // java.util.function.Function metricProvider
        end local 1 // java.lang.String name
        end local 0 // com.codahale.metrics.MetricRegistry registry
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0        registry  Lcom/codahale/metrics/MetricRegistry;
            0   15     1            name  Ljava/lang/String;
            0   15     2  metricProvider  Ljava/util/function/Function<Lcom/codahale/metrics/Metric;TM;>;
            1   15     3          metric  Lcom/codahale/metrics/Metric;
            4   15     4           found  TM;
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.IllegalArgumentException
    Signature: <M::Lcom/codahale/metrics/Metric;>(Lcom/codahale/metrics/MetricRegistry;Ljava/lang/String;Ljava/util/function/Function<Lcom/codahale/metrics/Metric;TM;>;)TM;
    MethodParameters:
                Name  Flags
      registry        
      name            
      metricProvider  

  private static io.vertx.ext.dropwizard.ThroughputMeter lambda$0(com.codahale.metrics.Metric);
    descriptor: (Lcom/codahale/metrics/Metric;)Lio/vertx/ext/dropwizard/ThroughputMeter;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.codahale.metrics.Metric metric
         0: .line 32
            aload 0 /* metric */
            ifnull 2
         1: .line 33
            aload 0 /* metric */
            checkcast io.vertx.ext.dropwizard.ThroughputMeter
            areturn
         2: .line 35
      StackMap locals:
      StackMap stack:
            new io.vertx.ext.dropwizard.ThroughputMeter
            dup
            invokespecial io.vertx.ext.dropwizard.ThroughputMeter.<init>:()V
            areturn
        end local 0 // com.codahale.metrics.Metric metric
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  metric  Lcom/codahale/metrics/Metric;

  private static io.vertx.ext.dropwizard.ThroughputTimer lambda$1(com.codahale.metrics.Metric);
    descriptor: (Lcom/codahale/metrics/Metric;)Lio/vertx/ext/dropwizard/ThroughputTimer;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.codahale.metrics.Metric metric
         0: .line 40
            aload 0 /* metric */
            ifnull 2
         1: .line 41
            aload 0 /* metric */
            checkcast io.vertx.ext.dropwizard.ThroughputTimer
            areturn
         2: .line 43
      StackMap locals:
      StackMap stack:
            new io.vertx.ext.dropwizard.ThroughputTimer
            dup
            invokespecial io.vertx.ext.dropwizard.ThroughputTimer.<init>:()V
            areturn
        end local 0 // com.codahale.metrics.Metric metric
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  metric  Lcom/codahale/metrics/Metric;

  private static boolean lambda$2(java.lang.String, com.codahale.metrics.Metric);
    descriptor: (Ljava/lang/String;Lcom/codahale/metrics/Metric;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.String name
        start local 1 // com.codahale.metrics.Metric metric
         0: .line 48
            iconst_1
            ireturn
        end local 1 // com.codahale.metrics.Metric metric
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    name  Ljava/lang/String;
            0    1     1  metric  Lcom/codahale/metrics/Metric;
}
SourceFile: "RegistryHelper.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles