class org.h2.expression.aggregate.Aggregate$2 implements java.util.Comparator<org.h2.value.ValueArray>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.h2.expression.aggregate.Aggregate$2
  super_class: java.lang.Object
{
  final org.h2.expression.aggregate.Aggregate this$0;
    descriptor: Lorg/h2/expression/aggregate/Aggregate;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private final org.h2.engine.Mode val$mode;
    descriptor: Lorg/h2/engine/Mode;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final org.h2.value.CompareMode val$compareMode;
    descriptor: Lorg/h2/value/CompareMode;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.h2.expression.aggregate.Aggregate, org.h2.engine.Mode, org.h2.value.CompareMode);
    descriptor: (Lorg/h2/expression/aggregate/Aggregate;Lorg/h2/engine/Mode;Lorg/h2/value/CompareMode;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.h2.expression.aggregate.Aggregate$2 this
         0: .line 567
            aload 0 /* this */
            aload 1
            putfield org.h2.expression.aggregate.Aggregate$2.this$0:Lorg/h2/expression/aggregate/Aggregate;
            aload 0 /* this */
            aload 2
            putfield org.h2.expression.aggregate.Aggregate$2.val$mode:Lorg/h2/engine/Mode;
            aload 0 /* this */
            aload 3
            putfield org.h2.expression.aggregate.Aggregate$2.val$compareMode:Lorg/h2/value/CompareMode;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.h2.expression.aggregate.Aggregate$2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/expression/aggregate/Aggregate$2;
    MethodParameters:
                 Name  Flags
      this$0           final
      val$mode         final
      val$compareMode  final

  public int compare(org.h2.value.ValueArray, org.h2.value.ValueArray);
    descriptor: (Lorg/h2/value/ValueArray;Lorg/h2/value/ValueArray;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.h2.expression.aggregate.Aggregate$2 this
        start local 1 // org.h2.value.ValueArray v1
        start local 2 // org.h2.value.ValueArray v2
         0: .line 570
            aload 1 /* v1 */
            invokevirtual org.h2.value.ValueArray.getList:()[Lorg/h2/value/Value;
            iconst_0
            aaload
            astore 3 /* a1 */
        start local 3 // org.h2.value.Value a1
         1: .line 571
            aload 2 /* v2 */
            invokevirtual org.h2.value.ValueArray.getList:()[Lorg/h2/value/Value;
            iconst_0
            aaload
            astore 4 /* a2 */
        start local 4 // org.h2.value.Value a2
         2: .line 572
            aload 3 /* a1 */
            aload 4 /* a2 */
            aload 0 /* this */
            getfield org.h2.expression.aggregate.Aggregate$2.val$mode:Lorg/h2/engine/Mode;
            aload 0 /* this */
            getfield org.h2.expression.aggregate.Aggregate$2.val$compareMode:Lorg/h2/value/CompareMode;
            invokevirtual org.h2.value.Value.compareTo:(Lorg/h2/value/Value;Lorg/h2/engine/Mode;Lorg/h2/value/CompareMode;)I
            ireturn
        end local 4 // org.h2.value.Value a2
        end local 3 // org.h2.value.Value a1
        end local 2 // org.h2.value.ValueArray v2
        end local 1 // org.h2.value.ValueArray v1
        end local 0 // org.h2.expression.aggregate.Aggregate$2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/expression/aggregate/Aggregate$2;
            0    3     1    v1  Lorg/h2/value/ValueArray;
            0    3     2    v2  Lorg/h2/value/ValueArray;
            1    3     3    a1  Lorg/h2/value/Value;
            2    3     4    a2  Lorg/h2/value/Value;
    MethodParameters:
      Name  Flags
      v1    
      v2    

  public int compare(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast org.h2.value.ValueArray
            aload 2
            checkcast org.h2.value.ValueArray
            invokevirtual org.h2.expression.aggregate.Aggregate$2.compare:(Lorg/h2/value/ValueArray;Lorg/h2/value/ValueArray;)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Ljava/util/Comparator<Lorg/h2/value/ValueArray;>;
SourceFile: "Aggregate.java"
EnclosingMethod: org.h2.expression.aggregate.Aggregate.getHistogram:(Lorg/h2/engine/Session;Lorg/h2/expression/aggregate/AggregateData;)Lorg/h2/value/Value;
NestHost: org.h2.expression.aggregate.Aggregate
InnerClasses:
  org.h2.expression.aggregate.Aggregate$2