public abstract class org.h2.mvstore.MVMap$DecisionMaker<V>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.h2.mvstore.MVMap$DecisionMaker
  super_class: java.lang.Object
{
  public static final org.h2.mvstore.MVMap$DecisionMaker<java.lang.Object> DEFAULT;
    descriptor: Lorg/h2/mvstore/MVMap$DecisionMaker;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/h2/mvstore/MVMap$DecisionMaker<Ljava/lang/Object;>;

  public static final org.h2.mvstore.MVMap$DecisionMaker<java.lang.Object> PUT;
    descriptor: Lorg/h2/mvstore/MVMap$DecisionMaker;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/h2/mvstore/MVMap$DecisionMaker<Ljava/lang/Object;>;

  public static final org.h2.mvstore.MVMap$DecisionMaker<java.lang.Object> REMOVE;
    descriptor: Lorg/h2/mvstore/MVMap$DecisionMaker;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/h2/mvstore/MVMap$DecisionMaker<Ljava/lang/Object;>;

  static final org.h2.mvstore.MVMap$DecisionMaker<java.lang.Object> IF_ABSENT;
    descriptor: Lorg/h2/mvstore/MVMap$DecisionMaker;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Signature: Lorg/h2/mvstore/MVMap$DecisionMaker<Ljava/lang/Object;>;

  static final org.h2.mvstore.MVMap$DecisionMaker<java.lang.Object> IF_PRESENT;
    descriptor: Lorg/h2/mvstore/MVMap$DecisionMaker;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Signature: Lorg/h2/mvstore/MVMap$DecisionMaker<Ljava/lang/Object;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 1535
            new org.h2.mvstore.MVMap$DecisionMaker$1
            dup
            invokespecial org.h2.mvstore.MVMap$DecisionMaker$1.<init>:()V
            putstatic org.h2.mvstore.MVMap$DecisionMaker.DEFAULT:Lorg/h2/mvstore/MVMap$DecisionMaker;
         1: .line 1550
            new org.h2.mvstore.MVMap$DecisionMaker$2
            dup
            invokespecial org.h2.mvstore.MVMap$DecisionMaker$2.<init>:()V
            putstatic org.h2.mvstore.MVMap$DecisionMaker.PUT:Lorg/h2/mvstore/MVMap$DecisionMaker;
         2: .line 1565
            new org.h2.mvstore.MVMap$DecisionMaker$3
            dup
            invokespecial org.h2.mvstore.MVMap$DecisionMaker$3.<init>:()V
            putstatic org.h2.mvstore.MVMap$DecisionMaker.REMOVE:Lorg/h2/mvstore/MVMap$DecisionMaker;
         3: .line 1580
            new org.h2.mvstore.MVMap$DecisionMaker$4
            dup
            invokespecial org.h2.mvstore.MVMap$DecisionMaker$4.<init>:()V
            putstatic org.h2.mvstore.MVMap$DecisionMaker.IF_ABSENT:Lorg/h2/mvstore/MVMap$DecisionMaker;
         4: .line 1595
            new org.h2.mvstore.MVMap$DecisionMaker$5
            dup
            invokespecial org.h2.mvstore.MVMap$DecisionMaker$5.<init>:()V
            putstatic org.h2.mvstore.MVMap$DecisionMaker.IF_PRESENT:Lorg/h2/mvstore/MVMap$DecisionMaker;
         5: .line 1605
            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 // org.h2.mvstore.MVMap$DecisionMaker this
         0: .line 1530
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.h2.mvstore.MVMap$DecisionMaker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/mvstore/MVMap$DecisionMaker<TV;>;

  public abstract org.h2.mvstore.MVMap$Decision decide(V, V);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Lorg/h2/mvstore/MVMap$Decision;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TV;TV;)Lorg/h2/mvstore/MVMap$Decision;
    MethodParameters:
               Name  Flags
      existingValue  
      providedValue  

  public <T extends V> T selectValue(T, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.h2.mvstore.MVMap$DecisionMaker this
        start local 1 // java.lang.Object existingValue
        start local 2 // java.lang.Object providedValue
         0: .line 1628
            aload 2 /* providedValue */
            areturn
        end local 2 // java.lang.Object providedValue
        end local 1 // java.lang.Object existingValue
        end local 0 // org.h2.mvstore.MVMap$DecisionMaker this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/h2/mvstore/MVMap$DecisionMaker<TV;>;
            0    1     1  existingValue  TT;
            0    1     2  providedValue  TT;
    Signature: <T:TV;>(TT;TT;)TT;
    MethodParameters:
               Name  Flags
      existingValue  
      providedValue  

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.h2.mvstore.MVMap$DecisionMaker this
         0: .line 1636
            return
        end local 0 // org.h2.mvstore.MVMap$DecisionMaker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/mvstore/MVMap$DecisionMaker<TV;>;
}
Signature: <V:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "MVMap.java"
NestHost: org.h2.mvstore.MVMap
InnerClasses:
  public final Decision = org.h2.mvstore.MVMap$Decision of org.h2.mvstore.MVMap
  public abstract DecisionMaker = org.h2.mvstore.MVMap$DecisionMaker of org.h2.mvstore.MVMap
  org.h2.mvstore.MVMap$DecisionMaker$1
  org.h2.mvstore.MVMap$DecisionMaker$2
  org.h2.mvstore.MVMap$DecisionMaker$3
  org.h2.mvstore.MVMap$DecisionMaker$4
  org.h2.mvstore.MVMap$DecisionMaker$5