public class org.openjdk.jmh.results.BenchmarkResult implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.openjdk.jmh.results.BenchmarkResult
  super_class: java.lang.Object
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 6467912427356048369

  private final java.util.Collection<org.openjdk.jmh.results.IterationResult> iterationResults;
    descriptor: Ljava/util/Collection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Collection<Lorg/openjdk/jmh/results/IterationResult;>;

  private final org.openjdk.jmh.util.Multimap<java.lang.String, org.openjdk.jmh.results.Result> benchmarkResults;
    descriptor: Lorg/openjdk/jmh/util/Multimap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/openjdk/jmh/util/Multimap<Ljava/lang/String;Lorg/openjdk/jmh/results/Result;>;

  private final org.openjdk.jmh.infra.BenchmarkParams params;
    descriptor: Lorg/openjdk/jmh/infra/BenchmarkParams;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.openjdk.jmh.results.BenchmarkResultMetaData metadata;
    descriptor: Lorg/openjdk/jmh/results/BenchmarkResultMetaData;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(org.openjdk.jmh.infra.BenchmarkParams, java.util.Collection<org.openjdk.jmh.results.IterationResult>);
    descriptor: (Lorg/openjdk/jmh/infra/BenchmarkParams;Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.openjdk.jmh.results.BenchmarkResult this
        start local 1 // org.openjdk.jmh.infra.BenchmarkParams params
        start local 2 // java.util.Collection data
         0: .line 48
            aload 0 /* this */
            aload 1 /* params */
            aload 2 /* data */
            aconst_null
            invokespecial org.openjdk.jmh.results.BenchmarkResult.<init>:(Lorg/openjdk/jmh/infra/BenchmarkParams;Ljava/util/Collection;Lorg/openjdk/jmh/results/BenchmarkResultMetaData;)V
         1: .line 49
            return
        end local 2 // java.util.Collection data
        end local 1 // org.openjdk.jmh.infra.BenchmarkParams params
        end local 0 // org.openjdk.jmh.results.BenchmarkResult this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/openjdk/jmh/results/BenchmarkResult;
            0    2     1  params  Lorg/openjdk/jmh/infra/BenchmarkParams;
            0    2     2    data  Ljava/util/Collection<Lorg/openjdk/jmh/results/IterationResult;>;
    Signature: (Lorg/openjdk/jmh/infra/BenchmarkParams;Ljava/util/Collection<Lorg/openjdk/jmh/results/IterationResult;>;)V
    MethodParameters:
        Name  Flags
      params  
      data    

  public void <init>(org.openjdk.jmh.infra.BenchmarkParams, java.util.Collection<org.openjdk.jmh.results.IterationResult>, org.openjdk.jmh.results.BenchmarkResultMetaData);
    descriptor: (Lorg/openjdk/jmh/infra/BenchmarkParams;Ljava/util/Collection;Lorg/openjdk/jmh/results/BenchmarkResultMetaData;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.openjdk.jmh.results.BenchmarkResult this
        start local 1 // org.openjdk.jmh.infra.BenchmarkParams params
        start local 2 // java.util.Collection data
        start local 3 // org.openjdk.jmh.results.BenchmarkResultMetaData md
         0: .line 51
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 52
            aload 0 /* this */
            aload 3 /* md */
            putfield org.openjdk.jmh.results.BenchmarkResult.metadata:Lorg/openjdk/jmh/results/BenchmarkResultMetaData;
         2: .line 53
            aload 0 /* this */
            new org.openjdk.jmh.util.HashMultimap
            dup
            invokespecial org.openjdk.jmh.util.HashMultimap.<init>:()V
            putfield org.openjdk.jmh.results.BenchmarkResult.benchmarkResults:Lorg/openjdk/jmh/util/Multimap;
         3: .line 54
            aload 0 /* this */
            aload 2 /* data */
            putfield org.openjdk.jmh.results.BenchmarkResult.iterationResults:Ljava/util/Collection;
         4: .line 55
            aload 0 /* this */
            aload 1 /* params */
            putfield org.openjdk.jmh.results.BenchmarkResult.params:Lorg/openjdk/jmh/infra/BenchmarkParams;
         5: .line 56
            return
        end local 3 // org.openjdk.jmh.results.BenchmarkResultMetaData md
        end local 2 // java.util.Collection data
        end local 1 // org.openjdk.jmh.infra.BenchmarkParams params
        end local 0 // org.openjdk.jmh.results.BenchmarkResult this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/openjdk/jmh/results/BenchmarkResult;
            0    6     1  params  Lorg/openjdk/jmh/infra/BenchmarkParams;
            0    6     2    data  Ljava/util/Collection<Lorg/openjdk/jmh/results/IterationResult;>;
            0    6     3      md  Lorg/openjdk/jmh/results/BenchmarkResultMetaData;
    Signature: (Lorg/openjdk/jmh/infra/BenchmarkParams;Ljava/util/Collection<Lorg/openjdk/jmh/results/IterationResult;>;Lorg/openjdk/jmh/results/BenchmarkResultMetaData;)V
    MethodParameters:
        Name  Flags
      params  
      data    
      md      

  public org.openjdk.jmh.results.BenchmarkResultMetaData getMetadata();
    descriptor: ()Lorg/openjdk/jmh/results/BenchmarkResultMetaData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.openjdk.jmh.results.BenchmarkResult this
         0: .line 62
            aload 0 /* this */
            getfield org.openjdk.jmh.results.BenchmarkResult.metadata:Lorg/openjdk/jmh/results/BenchmarkResultMetaData;
            areturn
        end local 0 // org.openjdk.jmh.results.BenchmarkResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/openjdk/jmh/results/BenchmarkResult;

  public void addBenchmarkResult(org.openjdk.jmh.results.Result);
    descriptor: (Lorg/openjdk/jmh/results/Result;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.openjdk.jmh.results.BenchmarkResult this
        start local 1 // org.openjdk.jmh.results.Result r
         0: .line 66
            aload 0 /* this */
            getfield org.openjdk.jmh.results.BenchmarkResult.benchmarkResults:Lorg/openjdk/jmh/util/Multimap;
            aload 1 /* r */
            invokevirtual org.openjdk.jmh.results.Result.getLabel:()Ljava/lang/String;
            aload 1 /* r */
            invokeinterface org.openjdk.jmh.util.Multimap.put:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 67
            return
        end local 1 // org.openjdk.jmh.results.Result r
        end local 0 // org.openjdk.jmh.results.BenchmarkResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/openjdk/jmh/results/BenchmarkResult;
            0    2     1     r  Lorg/openjdk/jmh/results/Result;
    MethodParameters:
      Name  Flags
      r     

  public java.util.Collection<org.openjdk.jmh.results.IterationResult> getIterationResults();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.openjdk.jmh.results.BenchmarkResult this
         0: .line 70
            aload 0 /* this */
            getfield org.openjdk.jmh.results.BenchmarkResult.iterationResults:Ljava/util/Collection;
            areturn
        end local 0 // org.openjdk.jmh.results.BenchmarkResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/openjdk/jmh/results/BenchmarkResult;
    Signature: ()Ljava/util/Collection<Lorg/openjdk/jmh/results/IterationResult;>;

  public org.openjdk.jmh.util.Multimap<java.lang.String, org.openjdk.jmh.results.Result> getBenchmarkResults();
    descriptor: ()Lorg/openjdk/jmh/util/Multimap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.openjdk.jmh.results.BenchmarkResult this
         0: .line 74
            aload 0 /* this */
            getfield org.openjdk.jmh.results.BenchmarkResult.benchmarkResults:Lorg/openjdk/jmh/util/Multimap;
            areturn
        end local 0 // org.openjdk.jmh.results.BenchmarkResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/openjdk/jmh/results/BenchmarkResult;
    Signature: ()Lorg/openjdk/jmh/util/Multimap<Ljava/lang/String;Lorg/openjdk/jmh/results/Result;>;

  public org.openjdk.jmh.results.Result getPrimaryResult();
    descriptor: ()Lorg/openjdk/jmh/results/Result;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // org.openjdk.jmh.results.BenchmarkResult this
         0: .line 78
            aconst_null
            astore 1 /* aggregator */
        start local 1 // org.openjdk.jmh.results.Aggregator aggregator
         1: .line 79
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* aggrs */
        start local 2 // java.util.Collection aggrs
         2: .line 80
            aload 0 /* this */
            getfield org.openjdk.jmh.results.BenchmarkResult.iterationResults:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: org.openjdk.jmh.results.BenchmarkResult org.openjdk.jmh.results.Aggregator java.util.Collection top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.openjdk.jmh.results.IterationResult
            astore 3 /* r */
        start local 3 // org.openjdk.jmh.results.IterationResult r
         4: .line 81
            aload 3 /* r */
            invokevirtual org.openjdk.jmh.results.IterationResult.getPrimaryResult:()Lorg/openjdk/jmh/results/Result;
            astore 5 /* e */
        start local 5 // org.openjdk.jmh.results.Result e
         5: .line 82
            aload 2 /* aggrs */
            aload 5 /* e */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         6: .line 83
            aload 5 /* e */
            invokevirtual org.openjdk.jmh.results.Result.getIterationAggregator:()Lorg/openjdk/jmh/results/Aggregator;
            astore 1 /* aggregator */
        end local 5 // org.openjdk.jmh.results.Result e
        end local 3 // org.openjdk.jmh.results.IterationResult r
         7: .line 80
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 85
            aload 0 /* this */
            getfield org.openjdk.jmh.results.BenchmarkResult.benchmarkResults:Lorg/openjdk/jmh/util/Multimap;
            invokeinterface org.openjdk.jmh.util.Multimap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 12
      StackMap locals:
      StackMap stack:
         9: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.openjdk.jmh.results.Result
            astore 3 /* r */
        start local 3 // org.openjdk.jmh.results.Result r
        10: .line 86
            aload 3 /* r */
            invokevirtual org.openjdk.jmh.results.Result.getRole:()Lorg/openjdk/jmh/results/ResultRole;
            invokevirtual org.openjdk.jmh.results.ResultRole.isPrimary:()Z
            ifeq 12
        11: .line 87
            aload 2 /* aggrs */
            aload 3 /* r */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // org.openjdk.jmh.results.Result r
        12: .line 85
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        13: .line 91
            aload 1 /* aggregator */
            ifnull 15
        14: .line 92
            aload 1 /* aggregator */
            aload 2 /* aggrs */
            invokeinterface org.openjdk.jmh.results.Aggregator.aggregate:(Ljava/util/Collection;)Lorg/openjdk/jmh/results/Result;
            areturn
        15: .line 94
      StackMap locals: org.openjdk.jmh.results.BenchmarkResult org.openjdk.jmh.results.Aggregator java.util.Collection
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "No aggregator for primary result"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.util.Collection aggrs
        end local 1 // org.openjdk.jmh.results.Aggregator aggregator
        end local 0 // org.openjdk.jmh.results.BenchmarkResult this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lorg/openjdk/jmh/results/BenchmarkResult;
            1   16     1  aggregator  Lorg/openjdk/jmh/results/Aggregator<Lorg/openjdk/jmh/results/Result;>;
            2   16     2       aggrs  Ljava/util/Collection<Lorg/openjdk/jmh/results/Result;>;
            4    7     3           r  Lorg/openjdk/jmh/results/IterationResult;
            5    7     5           e  Lorg/openjdk/jmh/results/Result;
           10   12     3           r  Lorg/openjdk/jmh/results/Result;

  public java.util.Map<java.lang.String, org.openjdk.jmh.results.Result> getSecondaryResults();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=1
        start local 0 // org.openjdk.jmh.results.BenchmarkResult this
         0: .line 100
            new org.openjdk.jmh.util.HashMultimap
            dup
            invokespecial org.openjdk.jmh.util.HashMultimap.<init>:()V
            astore 1 /* allSecondary */
        start local 1 // org.openjdk.jmh.util.Multimap allSecondary
         1: .line 103
            aload 0 /* this */
            getfield org.openjdk.jmh.results.BenchmarkResult.iterationResults:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 9
      StackMap locals: org.openjdk.jmh.results.BenchmarkResult org.openjdk.jmh.util.Multimap top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.openjdk.jmh.results.IterationResult
            astore 2 /* ir */
        start local 2 // org.openjdk.jmh.results.IterationResult ir
         3: .line 104
            aload 2 /* ir */
            invokevirtual org.openjdk.jmh.results.IterationResult.getSecondaryResults:()Ljava/util/Map;
            astore 4 /* secondaryResults */
        start local 4 // java.util.Map secondaryResults
         4: .line 105
            aload 4 /* secondaryResults */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 8
      StackMap locals: org.openjdk.jmh.results.BenchmarkResult org.openjdk.jmh.util.Multimap org.openjdk.jmh.results.IterationResult java.util.Iterator java.util.Map top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* entry */
        start local 5 // java.util.Map$Entry entry
         6: .line 107
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.openjdk.jmh.results.Result
            invokevirtual org.openjdk.jmh.results.Result.getRole:()Lorg/openjdk/jmh/results/ResultRole;
            invokevirtual org.openjdk.jmh.results.ResultRole.isDerivative:()Z
            ifeq 7
            goto 8
         7: .line 109
      StackMap locals: org.openjdk.jmh.results.BenchmarkResult org.openjdk.jmh.util.Multimap org.openjdk.jmh.results.IterationResult java.util.Iterator java.util.Map java.util.Map$Entry java.util.Iterator
      StackMap stack:
            aload 1 /* allSecondary */
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.openjdk.jmh.results.Result
            invokeinterface org.openjdk.jmh.util.Multimap.put:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 5 // java.util.Map$Entry entry
         8: .line 105
      StackMap locals: org.openjdk.jmh.results.BenchmarkResult org.openjdk.jmh.util.Multimap org.openjdk.jmh.results.IterationResult java.util.Iterator java.util.Map top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 4 // java.util.Map secondaryResults
        end local 2 // org.openjdk.jmh.results.IterationResult ir
         9: .line 103
      StackMap locals: org.openjdk.jmh.results.BenchmarkResult org.openjdk.jmh.util.Multimap top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        10: .line 113
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            astore 2 /* answers */
        start local 2 // java.util.Map answers
        11: .line 115
            aload 0 /* this */
            getfield org.openjdk.jmh.results.BenchmarkResult.iterationResults:Ljava/util/Collection;
            invokeinterface java.util.Collection.size:()I
            istore 3 /* totalIterations */
        start local 3 // int totalIterations
        12: .line 117
            aload 1 /* allSecondary */
            invokeinterface org.openjdk.jmh.util.Multimap.keys:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 31
      StackMap locals: org.openjdk.jmh.results.BenchmarkResult org.openjdk.jmh.util.Multimap java.util.Map int top java.util.Iterator
      StackMap stack:
        13: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* label */
        start local 4 // java.lang.String label
        14: .line 118
            aload 1 /* allSecondary */
            aload 4 /* label */
            invokeinterface org.openjdk.jmh.util.Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
            astore 6 /* results */
        start local 6 // java.util.Collection results
        15: .line 119
            aload 6 /* results */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.openjdk.jmh.results.Result
            astore 7 /* firstResult */
        start local 7 // org.openjdk.jmh.results.Result firstResult
        16: .line 120
            aload 7 /* firstResult */
            invokevirtual org.openjdk.jmh.results.Result.getZeroResult:()Lorg/openjdk/jmh/results/Result;
            astore 8 /* emptyResult */
        start local 8 // org.openjdk.jmh.results.Result emptyResult
        17: .line 121
            aload 8 /* emptyResult */
            ifnull 23
        18: .line 122
            aload 6 /* results */
            invokeinterface java.util.Collection.size:()I
            istore 9 /* i */
        start local 9 // int i
        19: goto 22
        20: .line 123
      StackMap locals: org.openjdk.jmh.results.BenchmarkResult org.openjdk.jmh.util.Multimap java.util.Map int java.lang.String java.util.Iterator java.util.Collection org.openjdk.jmh.results.Result org.openjdk.jmh.results.Result int
      StackMap stack:
            aload 1 /* allSecondary */
            aload 4 /* label */
            aload 8 /* emptyResult */
            invokeinterface org.openjdk.jmh.util.Multimap.put:(Ljava/lang/Object;Ljava/lang/Object;)V
        21: .line 122
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 9 /* i */
            iload 3 /* totalIterations */
            if_icmplt 20
        end local 9 // int i
        23: .line 127
      StackMap locals:
      StackMap stack:
            aload 7 /* firstResult */
            invokevirtual org.openjdk.jmh.results.Result.getIterationAggregator:()Lorg/openjdk/jmh/results/Aggregator;
            astore 9 /* aggregator */
        start local 9 // org.openjdk.jmh.results.Aggregator aggregator
        24: .line 128
            aload 9 /* aggregator */
            ifnonnull 29
        25: .line 129
            aload 6 /* results */
            invokeinterface java.util.Collection.size:()I
            iconst_1
            if_icmpne 28
        26: .line 130
            aload 2 /* answers */
            aload 4 /* label */
            aload 7 /* firstResult */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 131
            goto 31
        28: .line 133
      StackMap locals: org.openjdk.jmh.results.Aggregator
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No aggregator for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* firstResult */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        29: .line 137
      StackMap locals:
      StackMap stack:
            aload 9 /* aggregator */
            aload 1 /* allSecondary */
            aload 4 /* label */
            invokeinterface org.openjdk.jmh.util.Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
            invokeinterface org.openjdk.jmh.results.Aggregator.aggregate:(Ljava/util/Collection;)Lorg/openjdk/jmh/results/Result;
            astore 10 /* aggregate */
        start local 10 // org.openjdk.jmh.results.Result aggregate
        30: .line 138
            aload 2 /* answers */
            aload 4 /* label */
            aload 10 /* aggregate */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 10 // org.openjdk.jmh.results.Result aggregate
        end local 9 // org.openjdk.jmh.results.Aggregator aggregator
        end local 8 // org.openjdk.jmh.results.Result emptyResult
        end local 7 // org.openjdk.jmh.results.Result firstResult
        end local 6 // java.util.Collection results
        end local 4 // java.lang.String label
        31: .line 117
      StackMap locals: org.openjdk.jmh.results.BenchmarkResult org.openjdk.jmh.util.Multimap java.util.Map int top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        32: .line 141
            aload 0 /* this */
            getfield org.openjdk.jmh.results.BenchmarkResult.benchmarkResults:Lorg/openjdk/jmh/util/Multimap;
            invokeinterface org.openjdk.jmh.util.Multimap.keys:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 44
      StackMap locals:
      StackMap stack:
        33: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* label */
        start local 4 // java.lang.String label
        34: .line 142
            aconst_null
            astore 6 /* aggregator */
        start local 6 // org.openjdk.jmh.results.Aggregator aggregator
        35: .line 143
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* results */
        start local 7 // java.util.Collection results
        36: .line 144
            aload 0 /* this */
            getfield org.openjdk.jmh.results.BenchmarkResult.benchmarkResults:Lorg/openjdk/jmh/util/Multimap;
            aload 4 /* label */
            invokeinterface org.openjdk.jmh.util.Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 9
            goto 41
      StackMap locals: org.openjdk.jmh.results.BenchmarkResult org.openjdk.jmh.util.Multimap java.util.Map int java.lang.String java.util.Iterator org.openjdk.jmh.results.Aggregator java.util.Collection top java.util.Iterator
      StackMap stack:
        37: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.openjdk.jmh.results.Result
            astore 8 /* r */
        start local 8 // org.openjdk.jmh.results.Result r
        38: .line 145
            aload 8 /* r */
            invokevirtual org.openjdk.jmh.results.Result.getRole:()Lorg/openjdk/jmh/results/ResultRole;
            invokevirtual org.openjdk.jmh.results.ResultRole.isSecondary:()Z
            ifeq 41
            aload 8 /* r */
            invokevirtual org.openjdk.jmh.results.Result.getRole:()Lorg/openjdk/jmh/results/ResultRole;
            invokevirtual org.openjdk.jmh.results.ResultRole.isDerivative:()Z
            ifne 41
        39: .line 146
            aload 7 /* results */
            aload 8 /* r */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        40: .line 147
            aload 8 /* r */
            invokevirtual org.openjdk.jmh.results.Result.getIterationAggregator:()Lorg/openjdk/jmh/results/Aggregator;
            astore 6 /* aggregator */
        end local 8 // org.openjdk.jmh.results.Result r
        41: .line 144
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 37
        42: .line 150
            aload 6 /* aggregator */
            ifnull 44
        43: .line 151
            aload 2 /* answers */
            aload 4 /* label */
            aload 6 /* aggregator */
            aload 7 /* results */
            invokeinterface org.openjdk.jmh.results.Aggregator.aggregate:(Ljava/util/Collection;)Lorg/openjdk/jmh/results/Result;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // java.util.Collection results
        end local 6 // org.openjdk.jmh.results.Aggregator aggregator
        end local 4 // java.lang.String label
        44: .line 141
      StackMap locals: org.openjdk.jmh.results.BenchmarkResult org.openjdk.jmh.util.Multimap java.util.Map int top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 33
        45: .line 156
            aload 2 /* answers */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.openjdk.jmh.results.BenchmarkResult.getPrimaryResult:()Lorg/openjdk/jmh/results/Result;
            invokevirtual org.openjdk.jmh.results.BenchmarkResult.produceDerivative:(Lorg/openjdk/jmh/results/Result;)Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        46: .line 159
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* adds */
        start local 4 // java.util.Map adds
        47: .line 160
            aload 2 /* answers */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 50
      StackMap locals: org.openjdk.jmh.results.BenchmarkResult org.openjdk.jmh.util.Multimap java.util.Map int java.util.Map top java.util.Iterator
      StackMap stack:
        48: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.openjdk.jmh.results.Result
            astore 5 /* r */
        start local 5 // org.openjdk.jmh.results.Result r
        49: .line 161
            aload 4 /* adds */
            aload 0 /* this */
            aload 5 /* r */
            invokevirtual org.openjdk.jmh.results.BenchmarkResult.produceDerivative:(Lorg/openjdk/jmh/results/Result;)Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        end local 5 // org.openjdk.jmh.results.Result r
        50: .line 160
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 48
        51: .line 163
            aload 2 /* answers */
            aload 4 /* adds */
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        52: .line 165
            aload 2 /* answers */
            areturn
        end local 4 // java.util.Map adds
        end local 3 // int totalIterations
        end local 2 // java.util.Map answers
        end local 1 // org.openjdk.jmh.util.Multimap allSecondary
        end local 0 // org.openjdk.jmh.results.BenchmarkResult this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   53     0              this  Lorg/openjdk/jmh/results/BenchmarkResult;
            1   53     1      allSecondary  Lorg/openjdk/jmh/util/Multimap<Ljava/lang/String;Lorg/openjdk/jmh/results/Result;>;
            3    9     2                ir  Lorg/openjdk/jmh/results/IterationResult;
            4    9     4  secondaryResults  Ljava/util/Map<Ljava/lang/String;Lorg/openjdk/jmh/results/Result;>;
            6    8     5             entry  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/openjdk/jmh/results/Result;>;
           11   53     2           answers  Ljava/util/Map<Ljava/lang/String;Lorg/openjdk/jmh/results/Result;>;
           12   53     3   totalIterations  I
           14   31     4             label  Ljava/lang/String;
           15   31     6           results  Ljava/util/Collection<Lorg/openjdk/jmh/results/Result;>;
           16   31     7       firstResult  Lorg/openjdk/jmh/results/Result;
           17   31     8       emptyResult  Lorg/openjdk/jmh/results/Result;
           19   23     9                 i  I
           24   31     9        aggregator  Lorg/openjdk/jmh/results/Aggregator<Lorg/openjdk/jmh/results/Result;>;
           30   31    10         aggregate  Lorg/openjdk/jmh/results/Result;
           34   44     4             label  Ljava/lang/String;
           35   44     6        aggregator  Lorg/openjdk/jmh/results/Aggregator<Lorg/openjdk/jmh/results/Result;>;
           36   44     7           results  Ljava/util/Collection<Lorg/openjdk/jmh/results/Result;>;
           38   41     8                 r  Lorg/openjdk/jmh/results/Result;
           47   53     4              adds  Ljava/util/Map<Ljava/lang/String;Lorg/openjdk/jmh/results/Result;>;
           49   50     5                 r  Lorg/openjdk/jmh/results/Result;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/openjdk/jmh/results/Result;>;

  private java.util.Map<java.lang.String, org.openjdk.jmh.results.Result> produceDerivative(org.openjdk.jmh.results.Result);
    descriptor: (Lorg/openjdk/jmh/results/Result;)Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.openjdk.jmh.results.BenchmarkResult this
        start local 1 // org.openjdk.jmh.results.Result r
         0: .line 169
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* map */
        start local 2 // java.util.Map map
         1: .line 170
            aload 1 /* r */
            invokevirtual org.openjdk.jmh.results.Result.getDerivativeResults:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: org.openjdk.jmh.results.BenchmarkResult org.openjdk.jmh.results.Result java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* rr */
        start local 3 // java.lang.Object rr
         3: .line 171
            aload 2 /* map */
            aload 3 /* rr */
            checkcast org.openjdk.jmh.results.Result
            invokevirtual org.openjdk.jmh.results.Result.getLabel:()Ljava/lang/String;
            aload 3 /* rr */
            checkcast org.openjdk.jmh.results.Result
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // java.lang.Object rr
         4: .line 170
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 173
            aload 2 /* map */
            areturn
        end local 2 // java.util.Map map
        end local 1 // org.openjdk.jmh.results.Result r
        end local 0 // org.openjdk.jmh.results.BenchmarkResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/openjdk/jmh/results/BenchmarkResult;
            0    6     1     r  Lorg/openjdk/jmh/results/Result;
            1    6     2   map  Ljava/util/Map<Ljava/lang/String;Lorg/openjdk/jmh/results/Result;>;
            3    4     3    rr  Ljava/lang/Object;
    Signature: (Lorg/openjdk/jmh/results/Result;)Ljava/util/Map<Ljava/lang/String;Lorg/openjdk/jmh/results/Result;>;
    MethodParameters:
      Name  Flags
      r     

  public java.lang.String getScoreUnit();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.openjdk.jmh.results.BenchmarkResult this
         0: .line 177
            aload 0 /* this */
            invokevirtual org.openjdk.jmh.results.BenchmarkResult.getPrimaryResult:()Lorg/openjdk/jmh/results/Result;
            invokevirtual org.openjdk.jmh.results.Result.getScoreUnit:()Ljava/lang/String;
            areturn
        end local 0 // org.openjdk.jmh.results.BenchmarkResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/openjdk/jmh/results/BenchmarkResult;

  public org.openjdk.jmh.infra.BenchmarkParams getParams();
    descriptor: ()Lorg/openjdk/jmh/infra/BenchmarkParams;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.openjdk.jmh.results.BenchmarkResult this
         0: .line 181
            aload 0 /* this */
            getfield org.openjdk.jmh.results.BenchmarkResult.params:Lorg/openjdk/jmh/infra/BenchmarkParams;
            areturn
        end local 0 // org.openjdk.jmh.results.BenchmarkResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/openjdk/jmh/results/BenchmarkResult;
}
SourceFile: "BenchmarkResult.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map