class org.h2.mvstore.Page$NonLeaf extends org.h2.mvstore.Page
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.h2.mvstore.Page$NonLeaf
  super_class: org.h2.mvstore.Page
{
  private org.h2.mvstore.Page$PageReference[] children;
    descriptor: [Lorg/h2/mvstore/Page$PageReference;
    flags: (0x0002) ACC_PRIVATE

  private long totalCount;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1043
            ldc Lorg/h2/mvstore/Page;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.h2.mvstore.Page$NonLeaf.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(org.h2.mvstore.MVMap<?, ?>);
    descriptor: (Lorg/h2/mvstore/MVMap;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.mvstore.Page$NonLeaf this
        start local 1 // org.h2.mvstore.MVMap map
         0: .line 1056
            aload 0 /* this */
            aload 1 /* map */
            invokespecial org.h2.mvstore.Page.<init>:(Lorg/h2/mvstore/MVMap;)V
         1: .line 1057
            return
        end local 1 // org.h2.mvstore.MVMap map
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/mvstore/Page$NonLeaf;
            0    2     1   map  Lorg/h2/mvstore/MVMap<**>;
    Signature: (Lorg/h2/mvstore/MVMap<**>;)V
    MethodParameters:
      Name  Flags
      map   

  void <init>(org.h2.mvstore.MVMap<?, ?>, org.h2.mvstore.Page$NonLeaf, org.h2.mvstore.Page$PageReference[], );
    descriptor: (Lorg/h2/mvstore/MVMap;Lorg/h2/mvstore/Page$NonLeaf;[Lorg/h2/mvstore/Page$PageReference;J)V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // org.h2.mvstore.Page$NonLeaf this
        start local 1 // org.h2.mvstore.MVMap map
        start local 2 // org.h2.mvstore.Page$NonLeaf source
        start local 3 // org.h2.mvstore.Page$PageReference[] children
        start local 4 // long totalCount
         0: .line 1060
            aload 0 /* this */
            aload 1 /* map */
            aload 2 /* source */
            invokespecial org.h2.mvstore.Page.<init>:(Lorg/h2/mvstore/MVMap;Lorg/h2/mvstore/Page;)V
         1: .line 1061
            aload 0 /* this */
            aload 3 /* children */
            putfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
         2: .line 1062
            aload 0 /* this */
            lload 4 /* totalCount */
            putfield org.h2.mvstore.Page$NonLeaf.totalCount:J
         3: .line 1063
            return
        end local 4 // long totalCount
        end local 3 // org.h2.mvstore.Page$PageReference[] children
        end local 2 // org.h2.mvstore.Page$NonLeaf source
        end local 1 // org.h2.mvstore.MVMap map
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/h2/mvstore/Page$NonLeaf;
            0    4     1         map  Lorg/h2/mvstore/MVMap<**>;
            0    4     2      source  Lorg/h2/mvstore/Page$NonLeaf;
            0    4     3    children  [Lorg/h2/mvstore/Page$PageReference;
            0    4     4  totalCount  J
    Signature: (Lorg/h2/mvstore/MVMap<**>;Lorg/h2/mvstore/Page$NonLeaf;[Lorg/h2/mvstore/Page$PageReference;J)V
    MethodParameters:
            Name  Flags
      map         
      source      
      children    
      totalCount  

  void <init>(org.h2.mvstore.MVMap<?, ?>, [], org.h2.mvstore.Page$PageReference[], );
    descriptor: (Lorg/h2/mvstore/MVMap;[Ljava/lang/Object;[Lorg/h2/mvstore/Page$PageReference;J)V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // org.h2.mvstore.Page$NonLeaf this
        start local 1 // org.h2.mvstore.MVMap map
        start local 2 // java.lang.Object[] keys
        start local 3 // org.h2.mvstore.Page$PageReference[] children
        start local 4 // long totalCount
         0: .line 1066
            aload 0 /* this */
            aload 1 /* map */
            aload 2 /* keys */
            invokespecial org.h2.mvstore.Page.<init>:(Lorg/h2/mvstore/MVMap;[Ljava/lang/Object;)V
         1: .line 1067
            aload 0 /* this */
            aload 3 /* children */
            putfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
         2: .line 1068
            aload 0 /* this */
            lload 4 /* totalCount */
            putfield org.h2.mvstore.Page$NonLeaf.totalCount:J
         3: .line 1069
            return
        end local 4 // long totalCount
        end local 3 // org.h2.mvstore.Page$PageReference[] children
        end local 2 // java.lang.Object[] keys
        end local 1 // org.h2.mvstore.MVMap map
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/h2/mvstore/Page$NonLeaf;
            0    4     1         map  Lorg/h2/mvstore/MVMap<**>;
            0    4     2        keys  [Ljava/lang/Object;
            0    4     3    children  [Lorg/h2/mvstore/Page$PageReference;
            0    4     4  totalCount  J
    Signature: (Lorg/h2/mvstore/MVMap<**>;[Ljava/lang/Object;[Lorg/h2/mvstore/Page$PageReference;J)V
    MethodParameters:
            Name  Flags
      map         
      keys        
      children    
      totalCount  

  public int getNodeType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.mvstore.Page$NonLeaf this
         0: .line 1073
            iconst_1
            ireturn
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/mvstore/Page$NonLeaf;

  public org.h2.mvstore.Page copy(org.h2.mvstore.MVMap<?, ?>);
    descriptor: (Lorg/h2/mvstore/MVMap;)Lorg/h2/mvstore/Page;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.h2.mvstore.Page$NonLeaf this
        start local 1 // org.h2.mvstore.MVMap map
         0: .line 1078
            new org.h2.mvstore.Page$IncompleteNonLeaf
            dup
            aload 1 /* map */
            aload 0 /* this */
            invokespecial org.h2.mvstore.Page$IncompleteNonLeaf.<init>:(Lorg/h2/mvstore/MVMap;Lorg/h2/mvstore/Page$NonLeaf;)V
            areturn
        end local 1 // org.h2.mvstore.MVMap map
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/mvstore/Page$NonLeaf;
            0    1     1   map  Lorg/h2/mvstore/MVMap<**>;
    Signature: (Lorg/h2/mvstore/MVMap<**>;)Lorg/h2/mvstore/Page;
    MethodParameters:
      Name  Flags
      map   

  public org.h2.mvstore.Page getChildPage(int);
    descriptor: (I)Lorg/h2/mvstore/Page;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.h2.mvstore.Page$NonLeaf this
        start local 1 // int index
         0: .line 1083
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
            iload 1 /* index */
            aaload
            astore 2 /* ref */
        start local 2 // org.h2.mvstore.Page$PageReference ref
         1: .line 1084
            aload 2 /* ref */
            invokevirtual org.h2.mvstore.Page$PageReference.getPage:()Lorg/h2/mvstore/Page;
            astore 3 /* page */
        start local 3 // org.h2.mvstore.Page page
         2: .line 1085
            aload 3 /* page */
            ifnonnull 6
         3: .line 1086
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.map:Lorg/h2/mvstore/MVMap;
            aload 2 /* ref */
            invokevirtual org.h2.mvstore.Page$PageReference.getPos:()J
            invokevirtual org.h2.mvstore.MVMap.readPage:(J)Lorg/h2/mvstore/Page;
            astore 3 /* page */
         4: .line 1087
            getstatic org.h2.mvstore.Page$NonLeaf.$assertionsDisabled:Z
            ifne 5
            aload 2 /* ref */
            invokevirtual org.h2.mvstore.Page$PageReference.getPos:()J
            aload 3 /* page */
            invokevirtual org.h2.mvstore.Page.getPos:()J
            lcmp
            ifeq 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 1088
      StackMap locals: org.h2.mvstore.Page$PageReference org.h2.mvstore.Page
      StackMap stack:
            getstatic org.h2.mvstore.Page$NonLeaf.$assertionsDisabled:Z
            ifne 6
            aload 2 /* ref */
            getfield org.h2.mvstore.Page$PageReference.count:J
            aload 3 /* page */
            invokevirtual org.h2.mvstore.Page.getTotalCount:()J
            lcmp
            ifeq 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 1090
      StackMap locals:
      StackMap stack:
            aload 3 /* page */
            areturn
        end local 3 // org.h2.mvstore.Page page
        end local 2 // org.h2.mvstore.Page$PageReference ref
        end local 1 // int index
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/h2/mvstore/Page$NonLeaf;
            0    7     1  index  I
            1    7     2    ref  Lorg/h2/mvstore/Page$PageReference;
            2    7     3   page  Lorg/h2/mvstore/Page;
    MethodParameters:
       Name  Flags
      index  

  public org.h2.mvstore.Page getChildPageIfLoaded(int);
    descriptor: (I)Lorg/h2/mvstore/Page;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.mvstore.Page$NonLeaf this
        start local 1 // int index
         0: .line 1095
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
            iload 1 /* index */
            aaload
            invokevirtual org.h2.mvstore.Page$PageReference.getPage:()Lorg/h2/mvstore/Page;
            areturn
        end local 1 // int index
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/h2/mvstore/Page$NonLeaf;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public long getChildPagePos(int);
    descriptor: (I)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.mvstore.Page$NonLeaf this
        start local 1 // int index
         0: .line 1100
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
            iload 1 /* index */
            aaload
            invokevirtual org.h2.mvstore.Page$PageReference.getPos:()J
            lreturn
        end local 1 // int index
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/h2/mvstore/Page$NonLeaf;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public java.lang.Object getValue(int);
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.mvstore.Page$NonLeaf this
        start local 1 // int index
         0: .line 1105
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // int index
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/h2/mvstore/Page$NonLeaf;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public org.h2.mvstore.Page split(int);
    descriptor: (I)Lorg/h2/mvstore/Page;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=12, args_size=2
        start local 0 // org.h2.mvstore.Page$NonLeaf this
        start local 1 // int at
         0: .line 1110
            getstatic org.h2.mvstore.Page$NonLeaf.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.h2.mvstore.Page$NonLeaf.isSaved:()Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1111
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.mvstore.Page$NonLeaf.getKeyCount:()I
            iload 1 /* at */
            isub
            istore 2 /* b */
        start local 2 // int b
         2: .line 1112
            aload 0 /* this */
            iload 1 /* at */
            iload 2 /* b */
            iconst_1
            isub
            invokevirtual org.h2.mvstore.Page$NonLeaf.splitKeys:(II)[Ljava/lang/Object;
            astore 3 /* bKeys */
        start local 3 // java.lang.Object[] bKeys
         3: .line 1113
            iload 1 /* at */
            iconst_1
            iadd
            anewarray org.h2.mvstore.Page$PageReference
            astore 4 /* aChildren */
        start local 4 // org.h2.mvstore.Page$PageReference[] aChildren
         4: .line 1114
            iload 2 /* b */
            anewarray org.h2.mvstore.Page$PageReference
            astore 5 /* bChildren */
        start local 5 // org.h2.mvstore.Page$PageReference[] bChildren
         5: .line 1115
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
            iconst_0
            aload 4 /* aChildren */
            iconst_0
            iload 1 /* at */
            iconst_1
            iadd
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 1116
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
            iload 1 /* at */
            iconst_1
            iadd
            aload 5 /* bChildren */
            iconst_0
            iload 2 /* b */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 1117
            aload 0 /* this */
            aload 4 /* aChildren */
            putfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
         8: .line 1119
            lconst_0
            lstore 6 /* t */
        start local 6 // long t
         9: .line 1120
            aload 4 /* aChildren */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 13
      StackMap locals: org.h2.mvstore.Page$NonLeaf int int java.lang.Object[] org.h2.mvstore.Page$PageReference[] org.h2.mvstore.Page$PageReference[] long top int int org.h2.mvstore.Page$PageReference[]
      StackMap stack:
        10: aload 11
            iload 9
            aaload
            astore 8 /* x */
        start local 8 // org.h2.mvstore.Page$PageReference x
        11: .line 1121
            lload 6 /* t */
            aload 8 /* x */
            getfield org.h2.mvstore.Page$PageReference.count:J
            ladd
            lstore 6 /* t */
        end local 8 // org.h2.mvstore.Page$PageReference x
        12: .line 1120
            iinc 9 1
      StackMap locals:
      StackMap stack:
        13: iload 9
            iload 10
            if_icmplt 10
        14: .line 1123
            aload 0 /* this */
            lload 6 /* t */
            putfield org.h2.mvstore.Page$NonLeaf.totalCount:J
        15: .line 1124
            lconst_0
            lstore 6 /* t */
        16: .line 1125
            aload 5 /* bChildren */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 20
      StackMap locals:
      StackMap stack:
        17: aload 11
            iload 9
            aaload
            astore 8 /* x */
        start local 8 // org.h2.mvstore.Page$PageReference x
        18: .line 1126
            lload 6 /* t */
            aload 8 /* x */
            getfield org.h2.mvstore.Page$PageReference.count:J
            ladd
            lstore 6 /* t */
        end local 8 // org.h2.mvstore.Page$PageReference x
        19: .line 1125
            iinc 9 1
      StackMap locals:
      StackMap stack:
        20: iload 9
            iload 10
            if_icmplt 17
        21: .line 1128
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.map:Lorg/h2/mvstore/MVMap;
            aload 3 /* bKeys */
            aload 5 /* bChildren */
            lload 6 /* t */
            iconst_0
            invokestatic org.h2.mvstore.Page$NonLeaf.createNode:(Lorg/h2/mvstore/MVMap;[Ljava/lang/Object;[Lorg/h2/mvstore/Page$PageReference;JI)Lorg/h2/mvstore/Page;
            astore 8 /* newPage */
        start local 8 // org.h2.mvstore.Page newPage
        22: .line 1129
            aload 0 /* this */
            invokevirtual org.h2.mvstore.Page$NonLeaf.isPersistent:()Z
            ifeq 24
        23: .line 1130
            aload 0 /* this */
            invokevirtual org.h2.mvstore.Page$NonLeaf.recalculateMemory:()V
        24: .line 1132
      StackMap locals: org.h2.mvstore.Page$NonLeaf int int java.lang.Object[] org.h2.mvstore.Page$PageReference[] org.h2.mvstore.Page$PageReference[] long org.h2.mvstore.Page
      StackMap stack:
            aload 8 /* newPage */
            areturn
        end local 8 // org.h2.mvstore.Page newPage
        end local 6 // long t
        end local 5 // org.h2.mvstore.Page$PageReference[] bChildren
        end local 4 // org.h2.mvstore.Page$PageReference[] aChildren
        end local 3 // java.lang.Object[] bKeys
        end local 2 // int b
        end local 1 // int at
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   25     0       this  Lorg/h2/mvstore/Page$NonLeaf;
            0   25     1         at  I
            2   25     2          b  I
            3   25     3      bKeys  [Ljava/lang/Object;
            4   25     4  aChildren  [Lorg/h2/mvstore/Page$PageReference;
            5   25     5  bChildren  [Lorg/h2/mvstore/Page$PageReference;
            9   25     6          t  J
           11   12     8          x  Lorg/h2/mvstore/Page$PageReference;
           18   19     8          x  Lorg/h2/mvstore/Page$PageReference;
           22   25     8    newPage  Lorg/h2/mvstore/Page;
    MethodParameters:
      Name  Flags
      at    

  public void expand(int, java.lang.Object[], java.lang.Object[]);
    descriptor: (I[Ljava/lang/Object;[Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.h2.mvstore.Page$NonLeaf this
        start local 1 // int keyCount
        start local 2 // java.lang.Object[] extraKeys
        start local 3 // java.lang.Object[] extraValues
         0: .line 1137
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 3 // java.lang.Object[] extraValues
        end local 2 // java.lang.Object[] extraKeys
        end local 1 // int keyCount
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/h2/mvstore/Page$NonLeaf;
            0    1     1     keyCount  I
            0    1     2    extraKeys  [Ljava/lang/Object;
            0    1     3  extraValues  [Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      keyCount     
      extraKeys    
      extraValues  

  public long getTotalCount();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.h2.mvstore.Page$NonLeaf this
         0: .line 1142
            getstatic org.h2.mvstore.Page$NonLeaf.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            invokevirtual org.h2.mvstore.Page$NonLeaf.isComplete:()Z
            ifeq 2
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.totalCount:J
            aload 0 /* this */
            invokevirtual org.h2.mvstore.Page$NonLeaf.calculateTotalCount:()J
            lcmp
            ifeq 2
            new java.lang.AssertionError
            dup
         1: .line 1143
            new java.lang.StringBuilder
            dup
            ldc "Total count: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.totalCount:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " != "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.h2.mvstore.Page$NonLeaf.calculateTotalCount:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 1144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.totalCount:J
            lreturn
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/mvstore/Page$NonLeaf;

  private long calculateTotalCount();
    descriptor: ()J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.h2.mvstore.Page$NonLeaf this
         0: .line 1148
            lconst_0
            lstore 1 /* check */
        start local 1 // long check
         1: .line 1149
            aload 0 /* this */
            invokevirtual org.h2.mvstore.Page$NonLeaf.getKeyCount:()I
            istore 3 /* keyCount */
        start local 3 // int keyCount
         2: .line 1150
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 6
         4: .line 1151
      StackMap locals: long int int
      StackMap stack:
            lload 1 /* check */
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
            iload 4 /* i */
            aaload
            getfield org.h2.mvstore.Page$PageReference.count:J
            ladd
            lstore 1 /* check */
         5: .line 1150
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            iload 3 /* keyCount */
            if_icmple 4
        end local 4 // int i
         7: .line 1153
            lload 1 /* check */
            lreturn
        end local 3 // int keyCount
        end local 1 // long check
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/h2/mvstore/Page$NonLeaf;
            1    8     1     check  J
            2    8     3  keyCount  I
            3    7     4         i  I

  protected void recalculateTotalCount();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.mvstore.Page$NonLeaf this
         0: .line 1157
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.h2.mvstore.Page$NonLeaf.calculateTotalCount:()J
            putfield org.h2.mvstore.Page$NonLeaf.totalCount:J
         1: .line 1158
            return
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/mvstore/Page$NonLeaf;

  long getCounts(int);
    descriptor: (I)J
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.mvstore.Page$NonLeaf this
        start local 1 // int index
         0: .line 1162
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
            iload 1 /* index */
            aaload
            getfield org.h2.mvstore.Page$PageReference.count:J
            lreturn
        end local 1 // int index
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/h2/mvstore/Page$NonLeaf;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public void setChild(int, org.h2.mvstore.Page);
    descriptor: (ILorg/h2/mvstore/Page;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.h2.mvstore.Page$NonLeaf this
        start local 1 // int index
        start local 2 // org.h2.mvstore.Page c
         0: .line 1167
            getstatic org.h2.mvstore.Page$NonLeaf.$assertionsDisabled:Z
            ifne 1
            aload 2 /* c */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
            iload 1 /* index */
            aaload
            astore 3 /* child */
        start local 3 // org.h2.mvstore.Page$PageReference child
         2: .line 1169
            aload 2 /* c */
            aload 3 /* child */
            invokevirtual org.h2.mvstore.Page$PageReference.getPage:()Lorg/h2/mvstore/Page;
            if_acmpne 3
            aload 2 /* c */
            invokevirtual org.h2.mvstore.Page.getPos:()J
            aload 3 /* child */
            invokevirtual org.h2.mvstore.Page$PageReference.getPos:()J
            lcmp
            ifeq 6
         3: .line 1170
      StackMap locals: org.h2.mvstore.Page$PageReference
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.h2.mvstore.Page$NonLeaf.totalCount:J
            aload 2 /* c */
            invokevirtual org.h2.mvstore.Page.getTotalCount:()J
            aload 3 /* child */
            getfield org.h2.mvstore.Page$PageReference.count:J
            lsub
            ladd
            putfield org.h2.mvstore.Page$NonLeaf.totalCount:J
         4: .line 1171
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
            invokevirtual org.h2.mvstore.Page$PageReference[].clone:()Ljava/lang/Object;
            checkcast org.h2.mvstore.Page$PageReference[]
            putfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
         5: .line 1172
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
            iload 1 /* index */
            new org.h2.mvstore.Page$PageReference
            dup
            aload 2 /* c */
            invokespecial org.h2.mvstore.Page$PageReference.<init>:(Lorg/h2/mvstore/Page;)V
            aastore
         6: .line 1174
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.h2.mvstore.Page$PageReference child
        end local 2 // org.h2.mvstore.Page c
        end local 1 // int index
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/h2/mvstore/Page$NonLeaf;
            0    7     1  index  I
            0    7     2      c  Lorg/h2/mvstore/Page;
            2    7     3  child  Lorg/h2/mvstore/Page$PageReference;
    MethodParameters:
       Name  Flags
      index  
      c      

  public java.lang.Object setValue(int, java.lang.Object);
    descriptor: (ILjava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.h2.mvstore.Page$NonLeaf this
        start local 1 // int index
        start local 2 // java.lang.Object value
         0: .line 1178
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 2 // java.lang.Object value
        end local 1 // int index
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/h2/mvstore/Page$NonLeaf;
            0    1     1  index  I
            0    1     2  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      index  
      value  

  public void insertLeaf(int, java.lang.Object, java.lang.Object);
    descriptor: (ILjava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.h2.mvstore.Page$NonLeaf this
        start local 1 // int index
        start local 2 // java.lang.Object key
        start local 3 // java.lang.Object value
         0: .line 1183
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 3 // java.lang.Object value
        end local 2 // java.lang.Object key
        end local 1 // int index
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/h2/mvstore/Page$NonLeaf;
            0    1     1  index  I
            0    1     2    key  Ljava/lang/Object;
            0    1     3  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      index  
      key    
      value  

  public void insertNode(int, java.lang.Object, org.h2.mvstore.Page);
    descriptor: (ILjava/lang/Object;Lorg/h2/mvstore/Page;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.h2.mvstore.Page$NonLeaf this
        start local 1 // int index
        start local 2 // java.lang.Object key
        start local 3 // org.h2.mvstore.Page childPage
         0: .line 1188
            aload 0 /* this */
            invokevirtual org.h2.mvstore.Page$NonLeaf.getRawChildPageCount:()I
            istore 4 /* childCount */
        start local 4 // int childCount
         1: .line 1189
            aload 0 /* this */
            iload 1 /* index */
            aload 2 /* key */
            invokevirtual org.h2.mvstore.Page$NonLeaf.insertKey:(ILjava/lang/Object;)V
         2: .line 1191
            iload 4 /* childCount */
            iconst_1
            iadd
            anewarray org.h2.mvstore.Page$PageReference
            astore 5 /* newChildren */
        start local 5 // org.h2.mvstore.Page$PageReference[] newChildren
         3: .line 1192
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
            aload 5 /* newChildren */
            iload 4 /* childCount */
            iload 1 /* index */
            invokestatic org.h2.mvstore.DataUtils.copyWithGap:(Ljava/lang/Object;Ljava/lang/Object;II)V
         4: .line 1193
            aload 0 /* this */
            aload 5 /* newChildren */
            putfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
         5: .line 1194
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
            iload 1 /* index */
            new org.h2.mvstore.Page$PageReference
            dup
            aload 3 /* childPage */
            invokespecial org.h2.mvstore.Page$PageReference.<init>:(Lorg/h2/mvstore/Page;)V
            aastore
         6: .line 1196
            aload 0 /* this */
            dup
            getfield org.h2.mvstore.Page$NonLeaf.totalCount:J
            aload 3 /* childPage */
            invokevirtual org.h2.mvstore.Page.getTotalCount:()J
            ladd
            putfield org.h2.mvstore.Page$NonLeaf.totalCount:J
         7: .line 1197
            aload 0 /* this */
            invokevirtual org.h2.mvstore.Page$NonLeaf.isPersistent:()Z
            ifeq 9
         8: .line 1198
            aload 0 /* this */
            bipush 32
            invokevirtual org.h2.mvstore.Page$NonLeaf.addMemory:(I)V
         9: .line 1200
      StackMap locals: int org.h2.mvstore.Page$PageReference[]
      StackMap stack:
            return
        end local 5 // org.h2.mvstore.Page$PageReference[] newChildren
        end local 4 // int childCount
        end local 3 // org.h2.mvstore.Page childPage
        end local 2 // java.lang.Object key
        end local 1 // int index
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/h2/mvstore/Page$NonLeaf;
            0   10     1        index  I
            0   10     2          key  Ljava/lang/Object;
            0   10     3    childPage  Lorg/h2/mvstore/Page;
            1   10     4   childCount  I
            3   10     5  newChildren  [Lorg/h2/mvstore/Page$PageReference;
    MethodParameters:
           Name  Flags
      index      
      key        
      childPage  

  public void remove(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.h2.mvstore.Page$NonLeaf this
        start local 1 // int index
         0: .line 1204
            aload 0 /* this */
            invokevirtual org.h2.mvstore.Page$NonLeaf.getRawChildPageCount:()I
            istore 2 /* childCount */
        start local 2 // int childCount
         1: .line 1205
            aload 0 /* this */
            iload 1 /* index */
            invokespecial org.h2.mvstore.Page.remove:(I)V
         2: .line 1206
            aload 0 /* this */
            invokevirtual org.h2.mvstore.Page$NonLeaf.isPersistent:()Z
            ifeq 4
         3: .line 1207
            aload 0 /* this */
            bipush -32
            invokevirtual org.h2.mvstore.Page$NonLeaf.addMemory:(I)V
         4: .line 1209
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.h2.mvstore.Page$NonLeaf.totalCount:J
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
            iload 1 /* index */
            aaload
            getfield org.h2.mvstore.Page$PageReference.count:J
            lsub
            putfield org.h2.mvstore.Page$NonLeaf.totalCount:J
         5: .line 1210
            iload 2 /* childCount */
            iconst_1
            isub
            anewarray org.h2.mvstore.Page$PageReference
            astore 3 /* newChildren */
        start local 3 // org.h2.mvstore.Page$PageReference[] newChildren
         6: .line 1211
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
            aload 3 /* newChildren */
            iload 2 /* childCount */
            iload 1 /* index */
            invokestatic org.h2.mvstore.DataUtils.copyExcept:(Ljava/lang/Object;Ljava/lang/Object;II)V
         7: .line 1212
            aload 0 /* this */
            aload 3 /* newChildren */
            putfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
         8: .line 1213
            return
        end local 3 // org.h2.mvstore.Page$PageReference[] newChildren
        end local 2 // int childCount
        end local 1 // int index
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/h2/mvstore/Page$NonLeaf;
            0    9     1        index  I
            1    9     2   childCount  I
            6    9     3  newChildren  [Lorg/h2/mvstore/Page$PageReference;
    MethodParameters:
       Name  Flags
      index  

  public void removeAllRecursive();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=1
        start local 0 // org.h2.mvstore.Page$NonLeaf this
         0: .line 1217
            aload 0 /* this */
            invokevirtual org.h2.mvstore.Page$NonLeaf.isPersistent:()Z
            ifeq 18
         1: .line 1218
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         2: aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.map:Lorg/h2/mvstore/MVMap;
            aload 0 /* this */
            invokevirtual org.h2.mvstore.MVMap.getChildPageCount:(Lorg/h2/mvstore/Page;)I
            istore 2 /* size */
        start local 2 // int size
         3: goto 17
         4: .line 1219
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
            iload 1 /* i */
            aaload
            astore 3 /* ref */
        start local 3 // org.h2.mvstore.Page$PageReference ref
         5: .line 1220
            aload 3 /* ref */
            invokevirtual org.h2.mvstore.Page$PageReference.getPage:()Lorg/h2/mvstore/Page;
            astore 4 /* page */
        start local 4 // org.h2.mvstore.Page page
         6: .line 1221
            aload 4 /* page */
            ifnull 9
         7: .line 1222
            aload 4 /* page */
            invokevirtual org.h2.mvstore.Page.removeAllRecursive:()V
         8: .line 1223
            goto 16
         9: .line 1224
      StackMap locals: org.h2.mvstore.Page$PageReference org.h2.mvstore.Page
      StackMap stack:
            aload 3 /* ref */
            invokevirtual org.h2.mvstore.Page$PageReference.getPos:()J
            lstore 5 /* c */
        start local 5 // long c
        10: .line 1225
            lload 5 /* c */
            invokestatic org.h2.mvstore.DataUtils.getPageType:(J)I
            istore 7 /* type */
        start local 7 // int type
        11: .line 1226
            iload 7 /* type */
            ifne 15
        12: .line 1227
            lload 5 /* c */
            invokestatic org.h2.mvstore.DataUtils.getPageMaxLength:(J)I
            istore 8 /* mem */
        start local 8 // int mem
        13: .line 1228
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.map:Lorg/h2/mvstore/MVMap;
            lload 5 /* c */
            iload 8 /* mem */
            invokevirtual org.h2.mvstore.MVMap.removePage:(JI)V
        end local 8 // int mem
        14: .line 1229
            goto 16
        15: .line 1230
      StackMap locals: long int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.map:Lorg/h2/mvstore/MVMap;
            lload 5 /* c */
            invokevirtual org.h2.mvstore.MVMap.readPage:(J)Lorg/h2/mvstore/Page;
            invokevirtual org.h2.mvstore.Page.removeAllRecursive:()V
        end local 7 // int type
        end local 5 // long c
        end local 4 // org.h2.mvstore.Page page
        end local 3 // org.h2.mvstore.Page$PageReference ref
        16: .line 1218
      StackMap locals: org.h2.mvstore.Page$NonLeaf int int
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 1 /* i */
            iload 2 /* size */
            if_icmplt 4
        end local 2 // int size
        end local 1 // int i
        18: .line 1235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.mvstore.Page$NonLeaf.removePage:()V
        19: .line 1236
            return
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lorg/h2/mvstore/Page$NonLeaf;
            2   18     1     i  I
            3   18     2  size  I
            5   16     3   ref  Lorg/h2/mvstore/Page$PageReference;
            6   16     4  page  Lorg/h2/mvstore/Page;
           10   16     5     c  J
           11   16     7  type  I
           13   14     8   mem  I

  public org.h2.mvstore.CursorPos getAppendCursorPos(org.h2.mvstore.CursorPos);
    descriptor: (Lorg/h2/mvstore/CursorPos;)Lorg/h2/mvstore/CursorPos;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.h2.mvstore.Page$NonLeaf this
        start local 1 // org.h2.mvstore.CursorPos cursorPos
         0: .line 1240
            aload 0 /* this */
            invokevirtual org.h2.mvstore.Page$NonLeaf.getKeyCount:()I
            istore 2 /* keyCount */
        start local 2 // int keyCount
         1: .line 1241
            aload 0 /* this */
            iload 2 /* keyCount */
            invokevirtual org.h2.mvstore.Page$NonLeaf.getChildPage:(I)Lorg/h2/mvstore/Page;
            astore 3 /* childPage */
        start local 3 // org.h2.mvstore.Page childPage
         2: .line 1242
            aload 3 /* childPage */
            new org.h2.mvstore.CursorPos
            dup
            aload 0 /* this */
            iload 2 /* keyCount */
            aload 1 /* cursorPos */
            invokespecial org.h2.mvstore.CursorPos.<init>:(Lorg/h2/mvstore/Page;ILorg/h2/mvstore/CursorPos;)V
            invokevirtual org.h2.mvstore.Page.getAppendCursorPos:(Lorg/h2/mvstore/CursorPos;)Lorg/h2/mvstore/CursorPos;
            areturn
        end local 3 // org.h2.mvstore.Page childPage
        end local 2 // int keyCount
        end local 1 // org.h2.mvstore.CursorPos cursorPos
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/h2/mvstore/Page$NonLeaf;
            0    3     1  cursorPos  Lorg/h2/mvstore/CursorPos;
            1    3     2   keyCount  I
            2    3     3  childPage  Lorg/h2/mvstore/Page;
    MethodParameters:
           Name  Flags
      cursorPos  

  protected void readPayLoad(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=11, args_size=2
        start local 0 // org.h2.mvstore.Page$NonLeaf this
        start local 1 // java.nio.ByteBuffer buff
         0: .line 1247
            aload 0 /* this */
            invokevirtual org.h2.mvstore.Page$NonLeaf.getKeyCount:()I
            istore 2 /* keyCount */
        start local 2 // int keyCount
         1: .line 1248
            aload 0 /* this */
            iload 2 /* keyCount */
            iconst_1
            iadd
            anewarray org.h2.mvstore.Page$PageReference
            putfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
         2: .line 1249
            iload 2 /* keyCount */
            iconst_1
            iadd
            newarray 11
            astore 3 /* p */
        start local 3 // long[] p
         3: .line 1250
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 1251
      StackMap locals: int long[] int
      StackMap stack:
            aload 3 /* p */
            iload 4 /* i */
            aload 1 /* buff */
            invokevirtual java.nio.ByteBuffer.getLong:()J
            lastore
         6: .line 1250
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 2 /* keyCount */
            if_icmple 5
        end local 4 // int i
         8: .line 1253
            lconst_0
            lstore 4 /* total */
        start local 4 // long total
         9: .line 1254
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        10: goto 21
        11: .line 1255
      StackMap locals: org.h2.mvstore.Page$NonLeaf java.nio.ByteBuffer int long[] long int
      StackMap stack:
            aload 1 /* buff */
            invokestatic org.h2.mvstore.DataUtils.readVarLong:(Ljava/nio/ByteBuffer;)J
            lstore 7 /* s */
        start local 7 // long s
        12: .line 1256
            aload 3 /* p */
            iload 6 /* i */
            laload
            lstore 9 /* position */
        start local 9 // long position
        13: .line 1257
            getstatic org.h2.mvstore.Page$NonLeaf.$assertionsDisabled:Z
            ifne 16
            lload 9 /* position */
            lconst_0
            lcmp
            ifne 14
            lload 7 /* s */
            lconst_0
            lcmp
            ifeq 16
            goto 15
      StackMap locals: long long
      StackMap stack:
        14: lload 7 /* s */
            lconst_0
            lcmp
            ifge 16
      StackMap locals:
      StackMap stack:
        15: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        16: .line 1258
      StackMap locals:
      StackMap stack:
            lload 4 /* total */
            lload 7 /* s */
            ladd
            lstore 4 /* total */
        17: .line 1259
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
            iload 6 /* i */
            lload 9 /* position */
            lconst_0
            lcmp
            ifne 18
            getstatic org.h2.mvstore.Page$PageReference.EMPTY:Lorg/h2/mvstore/Page$PageReference;
            goto 19
      StackMap locals: org.h2.mvstore.Page$NonLeaf java.nio.ByteBuffer int long[] long int long long
      StackMap stack: org.h2.mvstore.Page$PageReference[] int
        18: new org.h2.mvstore.Page$PageReference
            dup
            lload 9 /* position */
            lload 7 /* s */
            invokespecial org.h2.mvstore.Page$PageReference.<init>:(JJ)V
      StackMap locals: org.h2.mvstore.Page$NonLeaf java.nio.ByteBuffer int long[] long int long long
      StackMap stack: org.h2.mvstore.Page$PageReference[] int org.h2.mvstore.Page$PageReference
        19: aastore
        end local 9 // long position
        end local 7 // long s
        20: .line 1254
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 6 /* i */
            iload 2 /* keyCount */
            if_icmple 11
        end local 6 // int i
        22: .line 1261
            aload 0 /* this */
            lload 4 /* total */
            putfield org.h2.mvstore.Page$NonLeaf.totalCount:J
        23: .line 1262
            return
        end local 4 // long total
        end local 3 // long[] p
        end local 2 // int keyCount
        end local 1 // java.nio.ByteBuffer buff
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   24     0      this  Lorg/h2/mvstore/Page$NonLeaf;
            0   24     1      buff  Ljava/nio/ByteBuffer;
            1   24     2  keyCount  I
            3   24     3         p  [J
            4    8     4         i  I
            9   24     4     total  J
           10   22     6         i  I
           12   20     7         s  J
           13   20     9  position  J
    MethodParameters:
      Name  Flags
      buff  

  protected void writeValues(org.h2.mvstore.WriteBuffer);
    descriptor: (Lorg/h2/mvstore/WriteBuffer;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.h2.mvstore.Page$NonLeaf this
        start local 1 // org.h2.mvstore.WriteBuffer buff
         0: .line 1265
            return
        end local 1 // org.h2.mvstore.WriteBuffer buff
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/mvstore/Page$NonLeaf;
            0    1     1  buff  Lorg/h2/mvstore/WriteBuffer;
    MethodParameters:
      Name  Flags
      buff  

  protected void writeChildren(org.h2.mvstore.WriteBuffer, boolean);
    descriptor: (Lorg/h2/mvstore/WriteBuffer;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.h2.mvstore.Page$NonLeaf this
        start local 1 // org.h2.mvstore.WriteBuffer buff
        start local 2 // boolean withCounts
         0: .line 1269
            aload 0 /* this */
            invokevirtual org.h2.mvstore.Page$NonLeaf.getKeyCount:()I
            istore 3 /* keyCount */
        start local 3 // int keyCount
         1: .line 1270
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 1271
      StackMap locals: int int
      StackMap stack:
            aload 1 /* buff */
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
            iload 4 /* i */
            aaload
            invokevirtual org.h2.mvstore.Page$PageReference.getPos:()J
            invokevirtual org.h2.mvstore.WriteBuffer.putLong:(J)Lorg/h2/mvstore/WriteBuffer;
            pop
         4: .line 1270
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            iload 3 /* keyCount */
            if_icmple 3
        end local 4 // int i
         6: .line 1273
            iload 2 /* withCounts */
            ifeq 12
         7: .line 1274
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 11
         9: .line 1275
      StackMap locals:
      StackMap stack:
            aload 1 /* buff */
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
            iload 4 /* i */
            aaload
            getfield org.h2.mvstore.Page$PageReference.count:J
            invokevirtual org.h2.mvstore.WriteBuffer.putVarLong:(J)Lorg/h2/mvstore/WriteBuffer;
            pop
        10: .line 1274
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            iload 3 /* keyCount */
            if_icmple 9
        end local 4 // int i
        12: .line 1278
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int keyCount
        end local 2 // boolean withCounts
        end local 1 // org.h2.mvstore.WriteBuffer buff
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lorg/h2/mvstore/Page$NonLeaf;
            0   13     1        buff  Lorg/h2/mvstore/WriteBuffer;
            0   13     2  withCounts  Z
            1   13     3    keyCount  I
            2    6     4           i  I
            8   12     4           i  I
    MethodParameters:
            Name  Flags
      buff        
      withCounts  

  void writeUnsavedRecursive(org.h2.mvstore.Chunk, org.h2.mvstore.WriteBuffer);
    descriptor: (Lorg/h2/mvstore/Chunk;Lorg/h2/mvstore/WriteBuffer;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.h2.mvstore.Page$NonLeaf this
        start local 1 // org.h2.mvstore.Chunk chunk
        start local 2 // org.h2.mvstore.WriteBuffer buff
         0: .line 1282
            aload 0 /* this */
            invokevirtual org.h2.mvstore.Page$NonLeaf.isSaved:()Z
            ifne 7
         1: .line 1283
            aload 0 /* this */
            aload 1 /* chunk */
            aload 2 /* buff */
            invokevirtual org.h2.mvstore.Page$NonLeaf.write:(Lorg/h2/mvstore/Chunk;Lorg/h2/mvstore/WriteBuffer;)I
            istore 3 /* patch */
        start local 3 // int patch
         2: .line 1284
            aload 0 /* this */
            aload 1 /* chunk */
            aload 2 /* buff */
            invokevirtual org.h2.mvstore.Page$NonLeaf.writeChildrenRecursive:(Lorg/h2/mvstore/Chunk;Lorg/h2/mvstore/WriteBuffer;)V
         3: .line 1285
            aload 2 /* buff */
            invokevirtual org.h2.mvstore.WriteBuffer.position:()I
            istore 4 /* old */
        start local 4 // int old
         4: .line 1286
            aload 2 /* buff */
            iload 3 /* patch */
            invokevirtual org.h2.mvstore.WriteBuffer.position:(I)Lorg/h2/mvstore/WriteBuffer;
            pop
         5: .line 1287
            aload 0 /* this */
            aload 2 /* buff */
            iconst_0
            invokevirtual org.h2.mvstore.Page$NonLeaf.writeChildren:(Lorg/h2/mvstore/WriteBuffer;Z)V
         6: .line 1288
            aload 2 /* buff */
            iload 4 /* old */
            invokevirtual org.h2.mvstore.WriteBuffer.position:(I)Lorg/h2/mvstore/WriteBuffer;
            pop
        end local 4 // int old
        end local 3 // int patch
         7: .line 1290
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.h2.mvstore.WriteBuffer buff
        end local 1 // org.h2.mvstore.Chunk chunk
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/h2/mvstore/Page$NonLeaf;
            0    8     1  chunk  Lorg/h2/mvstore/Chunk;
            0    8     2   buff  Lorg/h2/mvstore/WriteBuffer;
            2    7     3  patch  I
            4    7     4    old  I
    MethodParameters:
       Name  Flags
      chunk  
      buff   

  void writeChildrenRecursive(org.h2.mvstore.Chunk, org.h2.mvstore.WriteBuffer);
    descriptor: (Lorg/h2/mvstore/Chunk;Lorg/h2/mvstore/WriteBuffer;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.h2.mvstore.Page$NonLeaf this
        start local 1 // org.h2.mvstore.Chunk chunk
        start local 2 // org.h2.mvstore.WriteBuffer buff
         0: .line 1293
            aload 0 /* this */
            invokevirtual org.h2.mvstore.Page$NonLeaf.getRawChildPageCount:()I
            istore 3 /* len */
        start local 3 // int len
         1: .line 1294
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 9
         3: .line 1295
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
            iload 4 /* i */
            aaload
            astore 5 /* ref */
        start local 5 // org.h2.mvstore.Page$PageReference ref
         4: .line 1296
            aload 5 /* ref */
            invokevirtual org.h2.mvstore.Page$PageReference.getPage:()Lorg/h2/mvstore/Page;
            astore 6 /* p */
        start local 6 // org.h2.mvstore.Page p
         5: .line 1297
            aload 6 /* p */
            ifnull 8
         6: .line 1298
            aload 6 /* p */
            aload 1 /* chunk */
            aload 2 /* buff */
            invokevirtual org.h2.mvstore.Page.writeUnsavedRecursive:(Lorg/h2/mvstore/Chunk;Lorg/h2/mvstore/WriteBuffer;)V
         7: .line 1299
            aload 5 /* ref */
            invokevirtual org.h2.mvstore.Page$PageReference.resetPos:()V
        end local 6 // org.h2.mvstore.Page p
        end local 5 // org.h2.mvstore.Page$PageReference ref
         8: .line 1294
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            iload 3 /* len */
            if_icmplt 3
        end local 4 // int i
        10: .line 1302
            return
        end local 3 // int len
        end local 2 // org.h2.mvstore.WriteBuffer buff
        end local 1 // org.h2.mvstore.Chunk chunk
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lorg/h2/mvstore/Page$NonLeaf;
            0   11     1  chunk  Lorg/h2/mvstore/Chunk;
            0   11     2   buff  Lorg/h2/mvstore/WriteBuffer;
            1   11     3    len  I
            2   10     4      i  I
            4    8     5    ref  Lorg/h2/mvstore/Page$PageReference;
            5    8     6      p  Lorg/h2/mvstore/Page;
    MethodParameters:
       Name  Flags
      chunk  
      buff   

  void writeEnd();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.h2.mvstore.Page$NonLeaf this
         0: .line 1306
            aload 0 /* this */
            invokevirtual org.h2.mvstore.Page$NonLeaf.getRawChildPageCount:()I
            istore 1 /* len */
        start local 1 // int len
         1: .line 1307
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 1308
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
            iload 2 /* i */
            aaload
            invokevirtual org.h2.mvstore.Page$PageReference.clearPageReference:()V
         4: .line 1307
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            iload 1 /* len */
            if_icmplt 3
        end local 2 // int i
         6: .line 1310
            return
        end local 1 // int len
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/h2/mvstore/Page$NonLeaf;
            1    7     1   len  I
            2    6     2     i  I

  public int getRawChildPageCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.mvstore.Page$NonLeaf this
         0: .line 1314
            aload 0 /* this */
            invokevirtual org.h2.mvstore.Page$NonLeaf.getKeyCount:()I
            iconst_1
            iadd
            ireturn
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/mvstore/Page$NonLeaf;

  protected int calculateMemory();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.mvstore.Page$NonLeaf this
         0: .line 1319
            aload 0 /* this */
            invokespecial org.h2.mvstore.Page.calculateMemory:()I
            bipush 121
            iadd
         1: .line 1320
            aload 0 /* this */
            invokevirtual org.h2.mvstore.Page$NonLeaf.getRawChildPageCount:()I
            bipush 32
            imul
         2: .line 1319
            iadd
            ireturn
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/mvstore/Page$NonLeaf;

  public void dump(java.lang.StringBuilder);
    descriptor: (Ljava/lang/StringBuilder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.h2.mvstore.Page$NonLeaf this
        start local 1 // java.lang.StringBuilder buff
         0: .line 1325
            aload 0 /* this */
            aload 1 /* buff */
            invokespecial org.h2.mvstore.Page.dump:(Ljava/lang/StringBuilder;)V
         1: .line 1326
            aload 0 /* this */
            invokevirtual org.h2.mvstore.Page$NonLeaf.getKeyCount:()I
            istore 2 /* keyCount */
        start local 2 // int keyCount
         2: .line 1327
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 10
         4: .line 1328
      StackMap locals: int int
      StackMap stack:
            iload 3 /* i */
            ifle 6
         5: .line 1329
            aload 1 /* buff */
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 1331
      StackMap locals:
      StackMap stack:
            aload 1 /* buff */
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.h2.mvstore.Page$NonLeaf.children:[Lorg/h2/mvstore/Page$PageReference;
            iload 3 /* i */
            aaload
            invokevirtual org.h2.mvstore.Page$PageReference.getPos:()J
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 1332
            iload 3 /* i */
            iload 2 /* keyCount */
            if_icmpge 9
         8: .line 1333
            aload 1 /* buff */
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual org.h2.mvstore.Page$NonLeaf.getKey:(I)Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         9: .line 1327
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            iload 2 /* keyCount */
            if_icmple 4
        end local 3 // int i
        11: .line 1336
            return
        end local 2 // int keyCount
        end local 1 // java.lang.StringBuilder buff
        end local 0 // org.h2.mvstore.Page$NonLeaf this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/h2/mvstore/Page$NonLeaf;
            0   12     1      buff  Ljava/lang/StringBuilder;
            2   12     2  keyCount  I
            3   11     3         i  I
    MethodParameters:
      Name  Flags
      buff  
}
SourceFile: "Page.java"
NestHost: org.h2.mvstore.Page
InnerClasses:
  private IncompleteNonLeaf = org.h2.mvstore.Page$IncompleteNonLeaf of org.h2.mvstore.Page
  private NonLeaf = org.h2.mvstore.Page$NonLeaf of org.h2.mvstore.Page
  public final PageReference = org.h2.mvstore.Page$PageReference of org.h2.mvstore.Page