public class com.codahale.metrics.jcache.JCacheGaugeSet implements com.codahale.metrics.MetricSet
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.codahale.metrics.jcache.JCacheGaugeSet
  super_class: java.lang.Object
{
  private static final java.lang.String M_BEAN_COORDINATES;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "javax.cache:type=CacheStatistics,CacheManager=*,Cache=*"

  private static final org.slf4j.Logger LOGGER;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 37
            ldc Lcom/codahale/metrics/jcache/JCacheGaugeSet;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic com.codahale.metrics.jcache.JCacheGaugeSet.LOGGER:Lorg/slf4j/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.codahale.metrics.jcache.JCacheGaugeSet this
         0: .line 33
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.codahale.metrics.jcache.JCacheGaugeSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/codahale/metrics/jcache/JCacheGaugeSet;

  public java.util.Map<java.lang.String, com.codahale.metrics.Metric> getMetrics();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=11, args_size=1
        start local 0 // com.codahale.metrics.jcache.JCacheGaugeSet this
         0: .line 41
            aload 0 /* this */
            invokevirtual com.codahale.metrics.jcache.JCacheGaugeSet.getCacheBeans:()Ljava/util/Set;
            astore 1 /* cacheBeans */
        start local 1 // java.util.Set cacheBeans
         1: .line 42
            aload 0 /* this */
            invokevirtual com.codahale.metrics.jcache.JCacheGaugeSet.retrieveStatsNames:()Ljava/util/List;
            astore 2 /* availableStatsNames */
        start local 2 // java.util.List availableStatsNames
         2: .line 44
            new java.util.HashMap
            dup
            aload 1 /* cacheBeans */
            invokeinterface java.util.Set.size:()I
            aload 2 /* availableStatsNames */
            invokeinterface java.util.List.size:()I
            imul
            invokespecial java.util.HashMap.<init>:(I)V
            astore 3 /* gauges */
        start local 3 // java.util.Map gauges
         3: .line 46
            aload 1 /* cacheBeans */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 12
      StackMap locals: com.codahale.metrics.jcache.JCacheGaugeSet java.util.Set java.util.List java.util.Map top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.ObjectInstance
            astore 4 /* cacheBean */
        start local 4 // javax.management.ObjectInstance cacheBean
         5: .line 47
            aload 4 /* cacheBean */
            invokevirtual javax.management.ObjectInstance.getObjectName:()Ljavax/management/ObjectName;
            astore 6 /* objectName */
        start local 6 // javax.management.ObjectName objectName
         6: .line 48
            aload 6 /* objectName */
            ldc "Cache"
            invokevirtual javax.management.ObjectName.getKeyProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* cacheName */
        start local 7 // java.lang.String cacheName
         7: .line 50
            aload 2 /* availableStatsNames */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 11
      StackMap locals: com.codahale.metrics.jcache.JCacheGaugeSet java.util.Set java.util.List java.util.Map javax.management.ObjectInstance java.util.Iterator javax.management.ObjectName java.lang.String top java.util.Iterator
      StackMap stack:
         8: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* statsName */
        start local 8 // java.lang.String statsName
         9: .line 51
            new com.codahale.metrics.jvm.JmxAttributeGauge
            dup
            aload 6 /* objectName */
            aload 8 /* statsName */
            invokespecial com.codahale.metrics.jvm.JmxAttributeGauge.<init>:(Ljavax/management/ObjectName;Ljava/lang/String;)V
            astore 10 /* jmxAttributeGauge */
        start local 10 // com.codahale.metrics.jvm.JmxAttributeGauge jmxAttributeGauge
        10: .line 52
            aload 3 /* gauges */
            aload 7 /* cacheName */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 8 /* statsName */
            invokestatic com.codahale.metrics.jcache.JCacheGaugeSet.toSpinalCase:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            invokestatic com.codahale.metrics.MetricRegistry.name:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            aload 10 /* jmxAttributeGauge */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 10 // com.codahale.metrics.jvm.JmxAttributeGauge jmxAttributeGauge
        end local 8 // java.lang.String statsName
        11: .line 50
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 7 // java.lang.String cacheName
        end local 6 // javax.management.ObjectName objectName
        end local 4 // javax.management.ObjectInstance cacheBean
        12: .line 46
      StackMap locals: com.codahale.metrics.jcache.JCacheGaugeSet java.util.Set java.util.List java.util.Map top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        13: .line 56
            aload 3 /* gauges */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            areturn
        end local 3 // java.util.Map gauges
        end local 2 // java.util.List availableStatsNames
        end local 1 // java.util.Set cacheBeans
        end local 0 // com.codahale.metrics.jcache.JCacheGaugeSet this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   14     0                 this  Lcom/codahale/metrics/jcache/JCacheGaugeSet;
            1   14     1           cacheBeans  Ljava/util/Set<Ljavax/management/ObjectInstance;>;
            2   14     2  availableStatsNames  Ljava/util/List<Ljava/lang/String;>;
            3   14     3               gauges  Ljava/util/Map<Ljava/lang/String;Lcom/codahale/metrics/Metric;>;
            5   12     4            cacheBean  Ljavax/management/ObjectInstance;
            6   12     6           objectName  Ljavax/management/ObjectName;
            7   12     7            cacheName  Ljava/lang/String;
            9   11     8            statsName  Ljava/lang/String;
           10   11    10    jmxAttributeGauge  Lcom/codahale/metrics/jvm/JmxAttributeGauge;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lcom/codahale/metrics/Metric;>;

  private java.util.Set<javax.management.ObjectInstance> getCacheBeans();
    descriptor: ()Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.codahale.metrics.jcache.JCacheGaugeSet this
         0: .line 61
            invokestatic java.lang.management.ManagementFactory.getPlatformMBeanServer:()Ljavax/management/MBeanServer;
            ldc "javax.cache:type=CacheStatistics,CacheManager=*,Cache=*"
            invokestatic javax.management.ObjectName.getInstance:(Ljava/lang/String;)Ljavax/management/ObjectName;
            aconst_null
            invokeinterface javax.management.MBeanServer.queryMBeans:(Ljavax/management/ObjectName;Ljavax/management/QueryExp;)Ljava/util/Set;
         1: areturn
         2: .line 62
      StackMap locals:
      StackMap stack: javax.management.MalformedObjectNameException
            astore 1 /* e */
        start local 1 // javax.management.MalformedObjectNameException e
         3: .line 63
            getstatic com.codahale.metrics.jcache.JCacheGaugeSet.LOGGER:Lorg/slf4j/Logger;
            ldc "Unable to retrieve {}. Are JCache statistics enabled?"
            ldc "javax.cache:type=CacheStatistics,CacheManager=*,Cache=*"
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 64
            new java.lang.RuntimeException
            dup
            aload 1 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // javax.management.MalformedObjectNameException e
        end local 0 // com.codahale.metrics.jcache.JCacheGaugeSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/codahale/metrics/jcache/JCacheGaugeSet;
            3    5     1     e  Ljavax/management/MalformedObjectNameException;
      Exception table:
        from    to  target  type
           0     1       2  Class javax.management.MalformedObjectNameException
    Signature: ()Ljava/util/Set<Ljavax/management/ObjectInstance;>;

  private java.util.List<java.lang.String> retrieveStatsNames();
    descriptor: ()Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.codahale.metrics.jcache.JCacheGaugeSet this
         0: .line 69
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tCacheStatisticsMXBean cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.codahale.metrics.jcache.JCacheGaugeSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/codahale/metrics/jcache/JCacheGaugeSet;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  private static java.lang.String toSpinalCase(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String camelCase
         0: .line 82
            aload 0 /* camelCase */
            ldc "(.)(\\p{Upper})"
            ldc "$1-$2"
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String camelCase
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  camelCase  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      camelCase  
}
SourceFile: "JCacheGaugeSet.java"