final class org.apache.cassandra.service.GCInspector$GCState
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.apache.cassandra.service.GCInspector$GCState
  super_class: java.lang.Object
{
  final java.lang.management.GarbageCollectorMXBean gcBean;
    descriptor: Ljava/lang/management/GarbageCollectorMXBean;
    flags: (0x0010) ACC_FINAL

  final boolean assumeGCIsPartiallyConcurrent;
    descriptor: Z
    flags: (0x0010) ACC_FINAL

  final boolean assumeGCIsOldGen;
    descriptor: Z
    flags: (0x0010) ACC_FINAL

  private java.lang.String[] keys;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  long lastGcTotalDuration;
    descriptor: J
    flags: (0x0000) 

  void <init>(java.lang.management.GarbageCollectorMXBean, boolean, boolean);
    descriptor: (Ljava/lang/management/GarbageCollectorMXBean;ZZ)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.apache.cassandra.service.GCInspector$GCState this
        start local 1 // java.lang.management.GarbageCollectorMXBean gcBean
        start local 2 // boolean assumeGCIsPartiallyConcurrent
        start local 3 // boolean assumeGCIsOldGen
         0: .line 114
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 111
            aload 0 /* this */
            lconst_0
            putfield org.apache.cassandra.service.GCInspector$GCState.lastGcTotalDuration:J
         2: .line 116
            aload 0 /* this */
            aload 1 /* gcBean */
            putfield org.apache.cassandra.service.GCInspector$GCState.gcBean:Ljava/lang/management/GarbageCollectorMXBean;
         3: .line 117
            aload 0 /* this */
            iload 2 /* assumeGCIsPartiallyConcurrent */
            putfield org.apache.cassandra.service.GCInspector$GCState.assumeGCIsPartiallyConcurrent:Z
         4: .line 118
            aload 0 /* this */
            iload 3 /* assumeGCIsOldGen */
            putfield org.apache.cassandra.service.GCInspector$GCState.assumeGCIsOldGen:Z
         5: .line 119
            return
        end local 3 // boolean assumeGCIsOldGen
        end local 2 // boolean assumeGCIsPartiallyConcurrent
        end local 1 // java.lang.management.GarbageCollectorMXBean gcBean
        end local 0 // org.apache.cassandra.service.GCInspector$GCState this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0    6     0                           this  Lorg/apache/cassandra/service/GCInspector$GCState;
            0    6     1                         gcBean  Ljava/lang/management/GarbageCollectorMXBean;
            0    6     2  assumeGCIsPartiallyConcurrent  Z
            0    6     3               assumeGCIsOldGen  Z
    MethodParameters:
                               Name  Flags
      gcBean                         
      assumeGCIsPartiallyConcurrent  
      assumeGCIsOldGen               

  java.lang.String[] keys(com.sun.management.GarbageCollectionNotificationInfo);
    descriptor: (Lcom/sun/management/GarbageCollectionNotificationInfo;)[Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.service.GCInspector$GCState this
        start local 1 // com.sun.management.GarbageCollectionNotificationInfo info
         0: .line 123
            aload 0 /* this */
            getfield org.apache.cassandra.service.GCInspector$GCState.keys:[Ljava/lang/String;
            ifnull 2
         1: .line 124
            aload 0 /* this */
            getfield org.apache.cassandra.service.GCInspector$GCState.keys:[Ljava/lang/String;
            areturn
         2: .line 126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* info */
            invokevirtual com.sun.management.GarbageCollectionNotificationInfo.getGcInfo:()Lcom/sun/management/GcInfo;
            invokevirtual com.sun.management.GcInfo.getMemoryUsageBeforeGc:()Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            iconst_0
            anewarray java.lang.String
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            putfield org.apache.cassandra.service.GCInspector$GCState.keys:[Ljava/lang/String;
         3: .line 127
            aload 0 /* this */
            getfield org.apache.cassandra.service.GCInspector$GCState.keys:[Ljava/lang/String;
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
         4: .line 129
            aload 0 /* this */
            getfield org.apache.cassandra.service.GCInspector$GCState.keys:[Ljava/lang/String;
            areturn
        end local 1 // com.sun.management.GarbageCollectionNotificationInfo info
        end local 0 // org.apache.cassandra.service.GCInspector$GCState this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/cassandra/service/GCInspector$GCState;
            0    5     1  info  Lcom/sun/management/GarbageCollectionNotificationInfo;
    MethodParameters:
      Name  Flags
      info  
}
SourceFile: "GCInspector.java"
NestHost: org.apache.cassandra.service.GCInspector
InnerClasses:
  final GCState = org.apache.cassandra.service.GCInspector$GCState of org.apache.cassandra.service.GCInspector