public class org.h2.mvstore.db.MVSpatialIndex extends org.h2.index.BaseIndex implements org.h2.index.SpatialIndex, org.h2.mvstore.db.MVIndex
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.h2.mvstore.db.MVSpatialIndex
  super_class: org.h2.index.BaseIndex
{
  final org.h2.mvstore.db.MVTable mvTable;
    descriptor: Lorg/h2/mvstore/db/MVTable;
    flags: (0x0010) ACC_FINAL

  private final org.h2.mvstore.tx.TransactionMap<org.h2.mvstore.rtree.SpatialKey, org.h2.value.Value> dataMap;
    descriptor: Lorg/h2/mvstore/tx/TransactionMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/h2/mvstore/tx/TransactionMap<Lorg/h2/mvstore/rtree/SpatialKey;Lorg/h2/value/Value;>;

  private final org.h2.mvstore.rtree.MVRTreeMap<org.h2.value.VersionedValue> spatialMap;
    descriptor: Lorg/h2/mvstore/rtree/MVRTreeMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/h2/mvstore/rtree/MVRTreeMap<Lorg/h2/value/VersionedValue;>;

  public void <init>(org.h2.engine.Database, org.h2.mvstore.db.MVTable, int, java.lang.String, org.h2.table.IndexColumn[], org.h2.index.IndexType);
    descriptor: (Lorg/h2/engine/Database;Lorg/h2/mvstore/db/MVTable;ILjava/lang/String;[Lorg/h2/table/IndexColumn;Lorg/h2/index/IndexType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=13, args_size=7
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
        start local 1 // org.h2.engine.Database db
        start local 2 // org.h2.mvstore.db.MVTable table
        start local 3 // int id
        start local 4 // java.lang.String indexName
        start local 5 // org.h2.table.IndexColumn[] columns
        start local 6 // org.h2.index.IndexType indexType
         0: .line 73
            aload 0 /* this */
            aload 2 /* table */
            iload 3 /* id */
            aload 4 /* indexName */
            aload 5 /* columns */
            aload 6 /* indexType */
            invokespecial org.h2.index.BaseIndex.<init>:(Lorg/h2/table/Table;ILjava/lang/String;[Lorg/h2/table/IndexColumn;Lorg/h2/index/IndexType;)V
         1: .line 74
            aload 5 /* columns */
            arraylength
            iconst_1
            if_icmpeq 4
         2: .line 76
            ldc "Can only index one column"
         3: .line 75
            invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
         4: .line 78
      StackMap locals: org.h2.mvstore.db.MVSpatialIndex org.h2.engine.Database org.h2.mvstore.db.MVTable int java.lang.String org.h2.table.IndexColumn[] org.h2.index.IndexType
      StackMap stack:
            aload 5 /* columns */
            iconst_0
            aaload
            astore 7 /* col */
        start local 7 // org.h2.table.IndexColumn col
         5: .line 79
            aload 7 /* col */
            getfield org.h2.table.IndexColumn.sortType:I
            iconst_1
            iand
            ifeq 8
         6: .line 81
            ldc "Cannot index in descending order"
         7: .line 80
            invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
         8: .line 83
      StackMap locals: org.h2.table.IndexColumn
      StackMap stack:
            aload 7 /* col */
            getfield org.h2.table.IndexColumn.sortType:I
            iconst_2
            iand
            ifeq 11
         9: .line 85
            ldc "Nulls first is not supported"
        10: .line 84
            invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        11: .line 87
      StackMap locals:
      StackMap stack:
            aload 7 /* col */
            getfield org.h2.table.IndexColumn.sortType:I
            iconst_4
            iand
            ifeq 14
        12: .line 89
            ldc "Nulls last is not supported"
        13: .line 88
            invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        14: .line 91
      StackMap locals:
      StackMap stack:
            aload 7 /* col */
            getfield org.h2.table.IndexColumn.column:Lorg/h2/table/Column;
            invokevirtual org.h2.table.Column.getType:()Lorg/h2/value/TypeInfo;
            invokevirtual org.h2.value.TypeInfo.getValueType:()I
            bipush 22
            if_icmpeq 19
        15: .line 93
            new java.lang.StringBuilder
            dup
            ldc "Spatial index on non-geometry column, "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        16: .line 94
            aload 7 /* col */
            getfield org.h2.table.IndexColumn.column:Lorg/h2/table/Column;
            invokevirtual org.h2.table.Column.getCreateSQL:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 93
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 92
            invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        19: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* table */
            putfield org.h2.mvstore.db.MVSpatialIndex.mvTable:Lorg/h2/mvstore/db/MVTable;
        20: .line 97
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.database:Lorg/h2/engine/Database;
            invokevirtual org.h2.engine.Database.isStarting:()Z
            ifne 22
        21: .line 98
            aload 5 /* columns */
            invokestatic org.h2.mvstore.db.MVSpatialIndex.checkIndexColumnTypes:([Lorg/h2/table/IndexColumn;)V
        22: .line 100
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "index."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.h2.mvstore.db.MVSpatialIndex.getId:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* mapName */
        start local 8 // java.lang.String mapName
        23: .line 101
            new org.h2.mvstore.db.ValueDataType
            dup
            aload 1 /* db */
            aconst_null
            invokespecial org.h2.mvstore.db.ValueDataType.<init>:(Lorg/h2/engine/Database;[I)V
            astore 9 /* vt */
        start local 9 // org.h2.mvstore.db.ValueDataType vt
        24: .line 102
            new org.h2.mvstore.tx.VersionedValueType
            dup
            aload 9 /* vt */
            invokespecial org.h2.mvstore.tx.VersionedValueType.<init>:(Lorg/h2/mvstore/type/DataType;)V
            astore 10 /* valueType */
        start local 10 // org.h2.mvstore.tx.VersionedValueType valueType
        25: .line 104
            new org.h2.mvstore.rtree.MVRTreeMap$Builder
            dup
            invokespecial org.h2.mvstore.rtree.MVRTreeMap$Builder.<init>:()V
        26: .line 105
            aload 10 /* valueType */
            invokevirtual org.h2.mvstore.rtree.MVRTreeMap$Builder.valueType:(Lorg/h2/mvstore/type/DataType;)Lorg/h2/mvstore/rtree/MVRTreeMap$Builder;
        27: .line 103
            astore 11 /* mapBuilder */
        start local 11 // org.h2.mvstore.rtree.MVRTreeMap$Builder mapBuilder
        28: .line 106
            aload 0 /* this */
            aload 1 /* db */
            invokevirtual org.h2.engine.Database.getStore:()Lorg/h2/mvstore/db/MVTableEngine$Store;
            invokevirtual org.h2.mvstore.db.MVTableEngine$Store.getMvStore:()Lorg/h2/mvstore/MVStore;
            aload 8 /* mapName */
            aload 11 /* mapBuilder */
            invokevirtual org.h2.mvstore.MVStore.openMap:(Ljava/lang/String;Lorg/h2/mvstore/MVMap$MapBuilder;)Lorg/h2/mvstore/MVMap;
            checkcast org.h2.mvstore.rtree.MVRTreeMap
            putfield org.h2.mvstore.db.MVSpatialIndex.spatialMap:Lorg/h2/mvstore/rtree/MVRTreeMap;
        29: .line 107
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.mvTable:Lorg/h2/mvstore/db/MVTable;
            invokevirtual org.h2.mvstore.db.MVTable.getTransactionBegin:()Lorg/h2/mvstore/tx/Transaction;
            astore 12 /* t */
        start local 12 // org.h2.mvstore.tx.Transaction t
        30: .line 108
            aload 0 /* this */
            aload 12 /* t */
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.spatialMap:Lorg/h2/mvstore/rtree/MVRTreeMap;
            invokevirtual org.h2.mvstore.tx.Transaction.openMap:(Lorg/h2/mvstore/MVMap;)Lorg/h2/mvstore/tx/TransactionMap;
            putfield org.h2.mvstore.db.MVSpatialIndex.dataMap:Lorg/h2/mvstore/tx/TransactionMap;
        31: .line 109
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.dataMap:Lorg/h2/mvstore/tx/TransactionMap;
            getfield org.h2.mvstore.tx.TransactionMap.map:Lorg/h2/mvstore/MVMap;
            aload 2 /* table */
            invokevirtual org.h2.mvstore.db.MVTable.isPersistData:()Z
            ifeq 32
            aload 6 /* indexType */
            invokevirtual org.h2.index.IndexType.isPersistent:()Z
            ifeq 32
            iconst_0
            goto 33
      StackMap locals: org.h2.mvstore.db.MVSpatialIndex org.h2.engine.Database org.h2.mvstore.db.MVTable int java.lang.String org.h2.table.IndexColumn[] org.h2.index.IndexType org.h2.table.IndexColumn java.lang.String org.h2.mvstore.db.ValueDataType org.h2.mvstore.tx.VersionedValueType org.h2.mvstore.rtree.MVRTreeMap$Builder org.h2.mvstore.tx.Transaction
      StackMap stack: org.h2.mvstore.MVMap
        32: iconst_1
      StackMap locals: org.h2.mvstore.db.MVSpatialIndex org.h2.engine.Database org.h2.mvstore.db.MVTable int java.lang.String org.h2.table.IndexColumn[] org.h2.index.IndexType org.h2.table.IndexColumn java.lang.String org.h2.mvstore.db.ValueDataType org.h2.mvstore.tx.VersionedValueType org.h2.mvstore.rtree.MVRTreeMap$Builder org.h2.mvstore.tx.Transaction
      StackMap stack: org.h2.mvstore.MVMap int
        33: invokevirtual org.h2.mvstore.MVMap.setVolatile:(Z)V
        34: .line 110
            aload 12 /* t */
            invokevirtual org.h2.mvstore.tx.Transaction.commit:()V
        35: .line 111
            return
        end local 12 // org.h2.mvstore.tx.Transaction t
        end local 11 // org.h2.mvstore.rtree.MVRTreeMap$Builder mapBuilder
        end local 10 // org.h2.mvstore.tx.VersionedValueType valueType
        end local 9 // org.h2.mvstore.db.ValueDataType vt
        end local 8 // java.lang.String mapName
        end local 7 // org.h2.table.IndexColumn col
        end local 6 // org.h2.index.IndexType indexType
        end local 5 // org.h2.table.IndexColumn[] columns
        end local 4 // java.lang.String indexName
        end local 3 // int id
        end local 2 // org.h2.mvstore.db.MVTable table
        end local 1 // org.h2.engine.Database db
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   36     0        this  Lorg/h2/mvstore/db/MVSpatialIndex;
            0   36     1          db  Lorg/h2/engine/Database;
            0   36     2       table  Lorg/h2/mvstore/db/MVTable;
            0   36     3          id  I
            0   36     4   indexName  Ljava/lang/String;
            0   36     5     columns  [Lorg/h2/table/IndexColumn;
            0   36     6   indexType  Lorg/h2/index/IndexType;
            5   36     7         col  Lorg/h2/table/IndexColumn;
           23   36     8     mapName  Ljava/lang/String;
           24   36     9          vt  Lorg/h2/mvstore/db/ValueDataType;
           25   36    10   valueType  Lorg/h2/mvstore/tx/VersionedValueType;
           28   36    11  mapBuilder  Lorg/h2/mvstore/rtree/MVRTreeMap$Builder<Lorg/h2/value/VersionedValue;>;
           30   36    12           t  Lorg/h2/mvstore/tx/Transaction;
    MethodParameters:
           Name  Flags
      db         
      table      
      id         
      indexName  
      columns    
      indexType  

  public void addRowsToBuffer(java.util.List<org.h2.result.Row>, java.lang.String);
    descriptor: (Ljava/util/List;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
        start local 1 // java.util.List rows
        start local 2 // java.lang.String bufferName
         0: .line 115
            invokestatic org.h2.message.DbException.throwInternalError:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // java.lang.String bufferName
        end local 1 // java.util.List rows
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/h2/mvstore/db/MVSpatialIndex;
            0    1     1        rows  Ljava/util/List<Lorg/h2/result/Row;>;
            0    1     2  bufferName  Ljava/lang/String;
    Signature: (Ljava/util/List<Lorg/h2/result/Row;>;Ljava/lang/String;)V
    MethodParameters:
            Name  Flags
      rows        
      bufferName  

  public void addBufferedRows(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
        start local 1 // java.util.List bufferNames
         0: .line 120
            invokestatic org.h2.message.DbException.throwInternalError:()Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.util.List bufferNames
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/h2/mvstore/db/MVSpatialIndex;
            0    1     1  bufferNames  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
             Name  Flags
      bufferNames  

  public void close(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
        start local 1 // org.h2.engine.Session session
         0: .line 126
            return
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/h2/mvstore/db/MVSpatialIndex;
            0    1     1  session  Lorg/h2/engine/Session;
    MethodParameters:
         Name  Flags
      session  

  public void add(org.h2.engine.Session, org.h2.result.Row);
    descriptor: (Lorg/h2/engine/Session;Lorg/h2/result/Row;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
        start local 1 // org.h2.engine.Session session
        start local 2 // org.h2.result.Row row
         0: .line 130
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.h2.mvstore.db.MVSpatialIndex.getMap:(Lorg/h2/engine/Session;)Lorg/h2/mvstore/tx/TransactionMap;
            astore 3 /* map */
        start local 3 // org.h2.mvstore.tx.TransactionMap map
         1: .line 131
            aload 0 /* this */
            aload 2 /* row */
            invokevirtual org.h2.mvstore.db.MVSpatialIndex.getKey:(Lorg/h2/result/SearchRow;)Lorg/h2/mvstore/rtree/SpatialKey;
            astore 4 /* key */
        start local 4 // org.h2.mvstore.rtree.SpatialKey key
         2: .line 133
            aload 4 /* key */
            invokevirtual org.h2.mvstore.rtree.SpatialKey.isNull:()Z
            ifeq 4
         3: .line 134
            return
         4: .line 137
      StackMap locals: org.h2.mvstore.tx.TransactionMap org.h2.mvstore.rtree.SpatialKey
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.indexType:Lorg/h2/index/IndexType;
            invokevirtual org.h2.index.IndexType.isUnique:()Z
            ifeq 12
         5: .line 139
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.spatialMap:Lorg/h2/mvstore/rtree/MVRTreeMap;
            aload 4 /* key */
            invokevirtual org.h2.mvstore.rtree.MVRTreeMap.findContainedKeys:(Lorg/h2/mvstore/rtree/SpatialKey;)Lorg/h2/mvstore/rtree/MVRTreeMap$RTreeCursor;
            astore 5 /* cursor */
        start local 5 // org.h2.mvstore.rtree.MVRTreeMap$RTreeCursor cursor
         6: .line 140
            aload 3 /* map */
            aload 5 /* cursor */
            iconst_0
            invokevirtual org.h2.mvstore.tx.TransactionMap.wrapIterator:(Ljava/util/Iterator;Z)Ljava/util/Iterator;
            astore 6 /* it */
        start local 6 // java.util.Iterator it
         7: .line 141
            goto 11
         8: .line 142
      StackMap locals: org.h2.mvstore.rtree.MVRTreeMap$RTreeCursor java.util.Iterator
      StackMap stack:
            aload 6 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.mvstore.rtree.SpatialKey
            astore 7 /* k */
        start local 7 // org.h2.mvstore.rtree.SpatialKey k
         9: .line 143
            aload 7 /* k */
            aload 4 /* key */
            invokevirtual org.h2.mvstore.rtree.SpatialKey.equalsIgnoringId:(Lorg/h2/mvstore/rtree/SpatialKey;)Z
            ifeq 11
        10: .line 144
            aload 0 /* this */
            aload 4 /* key */
            invokevirtual org.h2.mvstore.rtree.SpatialKey.toString:()Ljava/lang/String;
            invokevirtual org.h2.mvstore.db.MVSpatialIndex.getDuplicateKeyException:(Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 7 // org.h2.mvstore.rtree.SpatialKey k
        11: .line 141
      StackMap locals:
      StackMap stack:
            aload 6 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 6 // java.util.Iterator it
        end local 5 // org.h2.mvstore.rtree.MVRTreeMap$RTreeCursor cursor
        12: .line 149
      StackMap locals:
      StackMap stack:
            aload 3 /* map */
            aload 4 /* key */
            lconst_0
            invokestatic org.h2.value.ValueLong.get:(J)Lorg/h2/value/ValueLong;
            invokevirtual org.h2.mvstore.tx.TransactionMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 150
            goto 16
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
        14: astore 5 /* e */
        start local 5 // java.lang.IllegalStateException e
        15: .line 151
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.mvTable:Lorg/h2/mvstore/db/MVTable;
            aload 5 /* e */
            invokevirtual org.h2.mvstore.db.MVTable.convertException:(Ljava/lang/IllegalStateException;)Lorg/h2/message/DbException;
            athrow
        end local 5 // java.lang.IllegalStateException e
        16: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.indexType:Lorg/h2/index/IndexType;
            invokevirtual org.h2.index.IndexType.isUnique:()Z
            ifeq 29
        17: .line 155
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.spatialMap:Lorg/h2/mvstore/rtree/MVRTreeMap;
            aload 4 /* key */
            invokevirtual org.h2.mvstore.rtree.MVRTreeMap.findContainedKeys:(Lorg/h2/mvstore/rtree/SpatialKey;)Lorg/h2/mvstore/rtree/MVRTreeMap$RTreeCursor;
            astore 5 /* cursor */
        start local 5 // org.h2.mvstore.rtree.MVRTreeMap$RTreeCursor cursor
        18: .line 156
            aload 3 /* map */
            aload 5 /* cursor */
            iconst_1
            invokevirtual org.h2.mvstore.tx.TransactionMap.wrapIterator:(Ljava/util/Iterator;Z)Ljava/util/Iterator;
            astore 6 /* it */
        start local 6 // java.util.Iterator it
        19: .line 157
            goto 28
        20: .line 158
      StackMap locals: org.h2.mvstore.rtree.MVRTreeMap$RTreeCursor java.util.Iterator
      StackMap stack:
            aload 6 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.mvstore.rtree.SpatialKey
            astore 7 /* k */
        start local 7 // org.h2.mvstore.rtree.SpatialKey k
        21: .line 159
            aload 7 /* k */
            aload 4 /* key */
            invokevirtual org.h2.mvstore.rtree.SpatialKey.equalsIgnoringId:(Lorg/h2/mvstore/rtree/SpatialKey;)Z
            ifeq 28
        22: .line 160
            aload 3 /* map */
            aload 7 /* k */
            invokevirtual org.h2.mvstore.tx.TransactionMap.isSameTransaction:(Ljava/lang/Object;)Z
            ifeq 24
        23: .line 161
            goto 28
        24: .line 163
      StackMap locals: org.h2.mvstore.rtree.SpatialKey
      StackMap stack:
            aload 3 /* map */
            aload 4 /* key */
            invokevirtual org.h2.mvstore.tx.TransactionMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 164
            aload 3 /* map */
            aload 7 /* k */
            invokevirtual org.h2.mvstore.tx.TransactionMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 27
        26: .line 166
            aload 0 /* this */
            aload 7 /* k */
            invokevirtual org.h2.mvstore.rtree.SpatialKey.toString:()Ljava/lang/String;
            invokevirtual org.h2.mvstore.db.MVSpatialIndex.getDuplicateKeyException:(Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        27: .line 168
      StackMap locals:
      StackMap stack:
            ldc 90131
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.table:Lorg/h2/table/Table;
            invokevirtual org.h2.table.Table.getName:()Ljava/lang/String;
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 7 // org.h2.mvstore.rtree.SpatialKey k
        28: .line 157
      StackMap locals:
      StackMap stack:
            aload 6 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        end local 6 // java.util.Iterator it
        end local 5 // org.h2.mvstore.rtree.MVRTreeMap$RTreeCursor cursor
        29: .line 172
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.h2.mvstore.rtree.SpatialKey key
        end local 3 // org.h2.mvstore.tx.TransactionMap map
        end local 2 // org.h2.result.Row row
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   30     0     this  Lorg/h2/mvstore/db/MVSpatialIndex;
            0   30     1  session  Lorg/h2/engine/Session;
            0   30     2      row  Lorg/h2/result/Row;
            1   30     3      map  Lorg/h2/mvstore/tx/TransactionMap<Lorg/h2/mvstore/rtree/SpatialKey;Lorg/h2/value/Value;>;
            2   30     4      key  Lorg/h2/mvstore/rtree/SpatialKey;
            6   12     5   cursor  Lorg/h2/mvstore/rtree/MVRTreeMap$RTreeCursor;
            7   12     6       it  Ljava/util/Iterator<Lorg/h2/mvstore/rtree/SpatialKey;>;
            9   11     7        k  Lorg/h2/mvstore/rtree/SpatialKey;
           15   16     5        e  Ljava/lang/IllegalStateException;
           18   29     5   cursor  Lorg/h2/mvstore/rtree/MVRTreeMap$RTreeCursor;
           19   29     6       it  Ljava/util/Iterator<Lorg/h2/mvstore/rtree/SpatialKey;>;
           21   28     7        k  Lorg/h2/mvstore/rtree/SpatialKey;
      Exception table:
        from    to  target  type
          12    13      14  Class java.lang.IllegalStateException
    MethodParameters:
         Name  Flags
      session  
      row      

  public void remove(org.h2.engine.Session, org.h2.result.Row);
    descriptor: (Lorg/h2/engine/Session;Lorg/h2/result/Row;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
        start local 1 // org.h2.engine.Session session
        start local 2 // org.h2.result.Row row
         0: .line 176
            aload 0 /* this */
            aload 2 /* row */
            invokevirtual org.h2.mvstore.db.MVSpatialIndex.getKey:(Lorg/h2/result/SearchRow;)Lorg/h2/mvstore/rtree/SpatialKey;
            astore 3 /* key */
        start local 3 // org.h2.mvstore.rtree.SpatialKey key
         1: .line 178
            aload 3 /* key */
            invokevirtual org.h2.mvstore.rtree.SpatialKey.isNull:()Z
            ifeq 3
         2: .line 179
            return
         3: .line 182
      StackMap locals: org.h2.mvstore.rtree.SpatialKey
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.h2.mvstore.db.MVSpatialIndex.getMap:(Lorg/h2/engine/Session;)Lorg/h2/mvstore/tx/TransactionMap;
            astore 4 /* map */
        start local 4 // org.h2.mvstore.tx.TransactionMap map
         4: .line 184
            aload 4 /* map */
            aload 3 /* key */
            invokevirtual org.h2.mvstore.tx.TransactionMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.value.Value
            astore 5 /* old */
        start local 5 // org.h2.value.Value old
         5: .line 185
            aload 5 /* old */
            ifnonnull 11
         6: .line 186
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 6 /* builder */
        start local 6 // java.lang.StringBuilder builder
         7: .line 187
            aload 0 /* this */
            aload 6 /* builder */
            iconst_0
            invokevirtual org.h2.mvstore.db.MVSpatialIndex.getSQL:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* row */
            invokeinterface org.h2.result.Row.getKey:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
         8: .line 188
            ldc 90112
            aload 6 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 6 // java.lang.StringBuilder builder
        end local 5 // org.h2.value.Value old
         9: .line 190
      StackMap locals: org.h2.mvstore.db.MVSpatialIndex org.h2.engine.Session org.h2.result.Row org.h2.mvstore.rtree.SpatialKey org.h2.mvstore.tx.TransactionMap
      StackMap stack: java.lang.IllegalStateException
            astore 5 /* e */
        start local 5 // java.lang.IllegalStateException e
        10: .line 191
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.mvTable:Lorg/h2/mvstore/db/MVTable;
            aload 5 /* e */
            invokevirtual org.h2.mvstore.db.MVTable.convertException:(Ljava/lang/IllegalStateException;)Lorg/h2/message/DbException;
            athrow
        end local 5 // java.lang.IllegalStateException e
        11: .line 193
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.h2.mvstore.tx.TransactionMap map
        end local 3 // org.h2.mvstore.rtree.SpatialKey key
        end local 2 // org.h2.result.Row row
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/h2/mvstore/db/MVSpatialIndex;
            0   12     1  session  Lorg/h2/engine/Session;
            0   12     2      row  Lorg/h2/result/Row;
            1   12     3      key  Lorg/h2/mvstore/rtree/SpatialKey;
            4   12     4      map  Lorg/h2/mvstore/tx/TransactionMap<Lorg/h2/mvstore/rtree/SpatialKey;Lorg/h2/value/Value;>;
            5    9     5      old  Lorg/h2/value/Value;
            7    9     6  builder  Ljava/lang/StringBuilder;
           10   11     5        e  Ljava/lang/IllegalStateException;
      Exception table:
        from    to  target  type
           4     9       9  Class java.lang.IllegalStateException
    MethodParameters:
         Name  Flags
      session  
      row      

  public org.h2.index.Cursor find(org.h2.table.TableFilter, org.h2.result.SearchRow, org.h2.result.SearchRow);
    descriptor: (Lorg/h2/table/TableFilter;Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;)Lorg/h2/index/Cursor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
        start local 1 // org.h2.table.TableFilter filter
        start local 2 // org.h2.result.SearchRow first
        start local 3 // org.h2.result.SearchRow last
         0: .line 197
            aload 0 /* this */
            aload 1 /* filter */
            invokevirtual org.h2.table.TableFilter.getSession:()Lorg/h2/engine/Session;
            invokevirtual org.h2.mvstore.db.MVSpatialIndex.find:(Lorg/h2/engine/Session;)Lorg/h2/index/Cursor;
            areturn
        end local 3 // org.h2.result.SearchRow last
        end local 2 // org.h2.result.SearchRow first
        end local 1 // org.h2.table.TableFilter filter
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/h2/mvstore/db/MVSpatialIndex;
            0    1     1  filter  Lorg/h2/table/TableFilter;
            0    1     2   first  Lorg/h2/result/SearchRow;
            0    1     3    last  Lorg/h2/result/SearchRow;
    MethodParameters:
        Name  Flags
      filter  
      first   
      last    

  public org.h2.index.Cursor find(org.h2.engine.Session, org.h2.result.SearchRow, org.h2.result.SearchRow);
    descriptor: (Lorg/h2/engine/Session;Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;)Lorg/h2/index/Cursor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
        start local 1 // org.h2.engine.Session session
        start local 2 // org.h2.result.SearchRow first
        start local 3 // org.h2.result.SearchRow last
         0: .line 202
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.h2.mvstore.db.MVSpatialIndex.find:(Lorg/h2/engine/Session;)Lorg/h2/index/Cursor;
            areturn
        end local 3 // org.h2.result.SearchRow last
        end local 2 // org.h2.result.SearchRow first
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/h2/mvstore/db/MVSpatialIndex;
            0    1     1  session  Lorg/h2/engine/Session;
            0    1     2    first  Lorg/h2/result/SearchRow;
            0    1     3     last  Lorg/h2/result/SearchRow;
    MethodParameters:
         Name  Flags
      session  
      first    
      last     

  private org.h2.index.Cursor find(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)Lorg/h2/index/Cursor;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
        start local 1 // org.h2.engine.Session session
         0: .line 206
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.spatialMap:Lorg/h2/mvstore/rtree/MVRTreeMap;
            aconst_null
            invokevirtual org.h2.mvstore.rtree.MVRTreeMap.keyIterator:(Ljava/lang/Object;)Ljava/util/Iterator;
            astore 2 /* cursor */
        start local 2 // java.util.Iterator cursor
         1: .line 207
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.h2.mvstore.db.MVSpatialIndex.getMap:(Lorg/h2/engine/Session;)Lorg/h2/mvstore/tx/TransactionMap;
            astore 3 /* map */
        start local 3 // org.h2.mvstore.tx.TransactionMap map
         2: .line 208
            aload 3 /* map */
            aload 2 /* cursor */
            iconst_0
            invokevirtual org.h2.mvstore.tx.TransactionMap.wrapIterator:(Ljava/util/Iterator;Z)Ljava/util/Iterator;
            astore 4 /* it */
        start local 4 // java.util.Iterator it
         3: .line 209
            new org.h2.mvstore.db.MVSpatialIndex$MVStoreCursor
            dup
            aload 1 /* session */
            aload 4 /* it */
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.mvTable:Lorg/h2/mvstore/db/MVTable;
            invokespecial org.h2.mvstore.db.MVSpatialIndex$MVStoreCursor.<init>:(Lorg/h2/engine/Session;Ljava/util/Iterator;Lorg/h2/mvstore/db/MVTable;)V
            areturn
        end local 4 // java.util.Iterator it
        end local 3 // org.h2.mvstore.tx.TransactionMap map
        end local 2 // java.util.Iterator cursor
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/h2/mvstore/db/MVSpatialIndex;
            0    4     1  session  Lorg/h2/engine/Session;
            1    4     2   cursor  Ljava/util/Iterator<Lorg/h2/mvstore/rtree/SpatialKey;>;
            2    4     3      map  Lorg/h2/mvstore/tx/TransactionMap<Lorg/h2/mvstore/rtree/SpatialKey;Lorg/h2/value/Value;>;
            3    4     4       it  Ljava/util/Iterator<Lorg/h2/mvstore/rtree/SpatialKey;>;
    MethodParameters:
         Name  Flags
      session  

  public org.h2.index.Cursor findByGeometry(org.h2.table.TableFilter, org.h2.result.SearchRow, org.h2.result.SearchRow, org.h2.result.SearchRow);
    descriptor: (Lorg/h2/table/TableFilter;Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;)Lorg/h2/index/Cursor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
        start local 1 // org.h2.table.TableFilter filter
        start local 2 // org.h2.result.SearchRow first
        start local 3 // org.h2.result.SearchRow last
        start local 4 // org.h2.result.SearchRow intersection
         0: .line 215
            aload 1 /* filter */
            invokevirtual org.h2.table.TableFilter.getSession:()Lorg/h2/engine/Session;
            astore 5 /* session */
        start local 5 // org.h2.engine.Session session
         1: .line 216
            aload 4 /* intersection */
            ifnonnull 3
         2: .line 217
            aload 0 /* this */
            aload 5 /* session */
            aload 2 /* first */
            aload 3 /* last */
            invokevirtual org.h2.mvstore.db.MVSpatialIndex.find:(Lorg/h2/engine/Session;Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;)Lorg/h2/index/Cursor;
            areturn
         3: .line 220
      StackMap locals: org.h2.engine.Session
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.spatialMap:Lorg/h2/mvstore/rtree/MVRTreeMap;
            aload 0 /* this */
            aload 4 /* intersection */
            invokevirtual org.h2.mvstore.db.MVSpatialIndex.getKey:(Lorg/h2/result/SearchRow;)Lorg/h2/mvstore/rtree/SpatialKey;
            invokevirtual org.h2.mvstore.rtree.MVRTreeMap.findIntersectingKeys:(Lorg/h2/mvstore/rtree/SpatialKey;)Lorg/h2/mvstore/rtree/MVRTreeMap$RTreeCursor;
         4: .line 219
            astore 6 /* cursor */
        start local 6 // java.util.Iterator cursor
         5: .line 221
            aload 0 /* this */
            aload 5 /* session */
            invokevirtual org.h2.mvstore.db.MVSpatialIndex.getMap:(Lorg/h2/engine/Session;)Lorg/h2/mvstore/tx/TransactionMap;
            astore 7 /* map */
        start local 7 // org.h2.mvstore.tx.TransactionMap map
         6: .line 222
            aload 7 /* map */
            aload 6 /* cursor */
            iconst_0
            invokevirtual org.h2.mvstore.tx.TransactionMap.wrapIterator:(Ljava/util/Iterator;Z)Ljava/util/Iterator;
            astore 8 /* it */
        start local 8 // java.util.Iterator it
         7: .line 223
            new org.h2.mvstore.db.MVSpatialIndex$MVStoreCursor
            dup
            aload 5 /* session */
            aload 8 /* it */
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.mvTable:Lorg/h2/mvstore/db/MVTable;
            invokespecial org.h2.mvstore.db.MVSpatialIndex$MVStoreCursor.<init>:(Lorg/h2/engine/Session;Ljava/util/Iterator;Lorg/h2/mvstore/db/MVTable;)V
            areturn
        end local 8 // java.util.Iterator it
        end local 7 // org.h2.mvstore.tx.TransactionMap map
        end local 6 // java.util.Iterator cursor
        end local 5 // org.h2.engine.Session session
        end local 4 // org.h2.result.SearchRow intersection
        end local 3 // org.h2.result.SearchRow last
        end local 2 // org.h2.result.SearchRow first
        end local 1 // org.h2.table.TableFilter filter
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lorg/h2/mvstore/db/MVSpatialIndex;
            0    8     1        filter  Lorg/h2/table/TableFilter;
            0    8     2         first  Lorg/h2/result/SearchRow;
            0    8     3          last  Lorg/h2/result/SearchRow;
            0    8     4  intersection  Lorg/h2/result/SearchRow;
            1    8     5       session  Lorg/h2/engine/Session;
            5    8     6        cursor  Ljava/util/Iterator<Lorg/h2/mvstore/rtree/SpatialKey;>;
            6    8     7           map  Lorg/h2/mvstore/tx/TransactionMap<Lorg/h2/mvstore/rtree/SpatialKey;Lorg/h2/value/Value;>;
            7    8     8            it  Ljava/util/Iterator<Lorg/h2/mvstore/rtree/SpatialKey;>;
    MethodParameters:
              Name  Flags
      filter        
      first         
      last          
      intersection  

  public org.h2.value.Value getBounds(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)Lorg/h2/value/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=3, args_size=2
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
        start local 1 // org.h2.engine.Session session
         0: .line 233
            new org.h2.mvstore.db.MVSpatialIndex$FindBoundsCursor
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.spatialMap:Lorg/h2/mvstore/rtree/MVRTreeMap;
            invokevirtual org.h2.mvstore.rtree.MVRTreeMap.getRootPage:()Lorg/h2/mvstore/Page;
            new org.h2.mvstore.rtree.SpatialKey
            dup
            lconst_0
            iconst_0
            newarray 6
            invokespecial org.h2.mvstore.rtree.SpatialKey.<init>:(J[F)V
            aload 1 /* session */
         1: .line 234
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.h2.mvstore.db.MVSpatialIndex.getMap:(Lorg/h2/engine/Session;)Lorg/h2/mvstore/tx/TransactionMap;
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.columnIds:[I
            iconst_0
            iaload
         2: .line 233
            invokespecial org.h2.mvstore.db.MVSpatialIndex$FindBoundsCursor.<init>:(Lorg/h2/mvstore/db/MVSpatialIndex;Lorg/h2/mvstore/Page;Lorg/h2/mvstore/rtree/SpatialKey;Lorg/h2/engine/Session;Lorg/h2/mvstore/tx/TransactionMap;I)V
            astore 2 /* cursor */
        start local 2 // org.h2.mvstore.db.MVSpatialIndex$FindBoundsCursor cursor
         3: .line 235
            goto 5
         4: .line 236
      StackMap locals: org.h2.mvstore.db.MVSpatialIndex$FindBoundsCursor
      StackMap stack:
            aload 2 /* cursor */
            invokevirtual org.h2.mvstore.db.MVSpatialIndex$FindBoundsCursor.next:()Lorg/h2/mvstore/rtree/SpatialKey;
            pop
         5: .line 235
      StackMap locals:
      StackMap stack:
            aload 2 /* cursor */
            invokevirtual org.h2.mvstore.db.MVSpatialIndex$FindBoundsCursor.hasNext:()Z
            ifne 4
         6: .line 238
            aload 2 /* cursor */
            invokevirtual org.h2.mvstore.db.MVSpatialIndex$FindBoundsCursor.getBounds:()Lorg/h2/value/Value;
            areturn
        end local 2 // org.h2.mvstore.db.MVSpatialIndex$FindBoundsCursor cursor
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/h2/mvstore/db/MVSpatialIndex;
            0    7     1  session  Lorg/h2/engine/Session;
            3    7     2   cursor  Lorg/h2/mvstore/db/MVSpatialIndex$FindBoundsCursor;
    MethodParameters:
         Name  Flags
      session  

  public org.h2.value.Value getEstimatedBounds(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)Lorg/h2/value/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=14, args_size=2
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
        start local 1 // org.h2.engine.Session session
         0: .line 250
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.spatialMap:Lorg/h2/mvstore/rtree/MVRTreeMap;
            invokevirtual org.h2.mvstore.rtree.MVRTreeMap.getRootPage:()Lorg/h2/mvstore/Page;
            astore 2 /* p */
        start local 2 // org.h2.mvstore.Page p
         1: .line 251
            aload 2 /* p */
            invokevirtual org.h2.mvstore.Page.getKeyCount:()I
            istore 3 /* count */
        start local 3 // int count
         2: .line 252
            iload 3 /* count */
            ifle 26
         3: .line 253
            aload 2 /* p */
            iconst_0
            invokevirtual org.h2.mvstore.Page.getKey:(I)Ljava/lang/Object;
            checkcast org.h2.mvstore.rtree.SpatialKey
            astore 4 /* key */
        start local 4 // org.h2.mvstore.rtree.SpatialKey key
         4: .line 254
            aload 4 /* key */
            iconst_0
            invokevirtual org.h2.mvstore.rtree.SpatialKey.min:(I)F
            fstore 5 /* bminxf */
        start local 5 // float bminxf
         5: aload 4 /* key */
            iconst_0
            invokevirtual org.h2.mvstore.rtree.SpatialKey.max:(I)F
            fstore 6 /* bmaxxf */
        start local 6 // float bmaxxf
         6: aload 4 /* key */
            iconst_1
            invokevirtual org.h2.mvstore.rtree.SpatialKey.min:(I)F
            fstore 7 /* bminyf */
        start local 7 // float bminyf
         7: aload 4 /* key */
            iconst_1
            invokevirtual org.h2.mvstore.rtree.SpatialKey.max:(I)F
            fstore 8 /* bmaxyf */
        start local 8 // float bmaxyf
         8: .line 255
            iconst_1
            istore 9 /* i */
        start local 9 // int i
         9: goto 24
        10: .line 256
      StackMap locals: org.h2.mvstore.db.MVSpatialIndex org.h2.engine.Session org.h2.mvstore.Page int org.h2.mvstore.rtree.SpatialKey float float float float int
      StackMap stack:
            aload 2 /* p */
            iload 9 /* i */
            invokevirtual org.h2.mvstore.Page.getKey:(I)Ljava/lang/Object;
            checkcast org.h2.mvstore.rtree.SpatialKey
            astore 4 /* key */
        11: .line 257
            aload 4 /* key */
            iconst_0
            invokevirtual org.h2.mvstore.rtree.SpatialKey.min:(I)F
            fstore 10 /* minxf */
        start local 10 // float minxf
        12: aload 4 /* key */
            iconst_0
            invokevirtual org.h2.mvstore.rtree.SpatialKey.max:(I)F
            fstore 11 /* maxxf */
        start local 11 // float maxxf
        13: aload 4 /* key */
            iconst_1
            invokevirtual org.h2.mvstore.rtree.SpatialKey.min:(I)F
            fstore 12 /* minyf */
        start local 12 // float minyf
        14: aload 4 /* key */
            iconst_1
            invokevirtual org.h2.mvstore.rtree.SpatialKey.max:(I)F
            fstore 13 /* maxyf */
        start local 13 // float maxyf
        15: .line 258
            fload 10 /* minxf */
            fload 5 /* bminxf */
            fcmpg
            ifge 17
        16: .line 259
            fload 10 /* minxf */
            fstore 5 /* bminxf */
        17: .line 261
      StackMap locals: org.h2.mvstore.db.MVSpatialIndex org.h2.engine.Session org.h2.mvstore.Page int org.h2.mvstore.rtree.SpatialKey float float float float int float float float float
      StackMap stack:
            fload 11 /* maxxf */
            fload 6 /* bmaxxf */
            fcmpl
            ifle 19
        18: .line 262
            fload 11 /* maxxf */
            fstore 6 /* bmaxxf */
        19: .line 264
      StackMap locals:
      StackMap stack:
            fload 12 /* minyf */
            fload 7 /* bminyf */
            fcmpg
            ifge 21
        20: .line 265
            fload 12 /* minyf */
            fstore 7 /* bminyf */
        21: .line 267
      StackMap locals:
      StackMap stack:
            fload 13 /* maxyf */
            fload 8 /* bmaxyf */
            fcmpl
            ifle 23
        22: .line 268
            fload 13 /* maxyf */
            fstore 8 /* bmaxyf */
        end local 13 // float maxyf
        end local 12 // float minyf
        end local 11 // float maxxf
        end local 10 // float minxf
        23: .line 255
      StackMap locals: org.h2.mvstore.db.MVSpatialIndex org.h2.engine.Session org.h2.mvstore.Page int org.h2.mvstore.rtree.SpatialKey float float float float int
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 9 /* i */
            iload 3 /* count */
            if_icmplt 10
        end local 9 // int i
        25: .line 271
            iconst_4
            newarray 7
            dup
            iconst_0
            fload 5 /* bminxf */
            f2d
            dastore
            dup
            iconst_1
            fload 6 /* bmaxxf */
            f2d
            dastore
            dup
            iconst_2
            fload 7 /* bminyf */
            f2d
            dastore
            dup
            iconst_3
            fload 8 /* bmaxyf */
            f2d
            dastore
            invokestatic org.h2.value.ValueGeometry.fromEnvelope:([D)Lorg/h2/value/Value;
            areturn
        end local 8 // float bmaxyf
        end local 7 // float bminyf
        end local 6 // float bmaxxf
        end local 5 // float bminxf
        end local 4 // org.h2.mvstore.rtree.SpatialKey key
        26: .line 273
      StackMap locals: org.h2.mvstore.db.MVSpatialIndex org.h2.engine.Session org.h2.mvstore.Page int
      StackMap stack:
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            areturn
        end local 3 // int count
        end local 2 // org.h2.mvstore.Page p
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   27     0     this  Lorg/h2/mvstore/db/MVSpatialIndex;
            0   27     1  session  Lorg/h2/engine/Session;
            1   27     2        p  Lorg/h2/mvstore/Page;
            2   27     3    count  I
            4   26     4      key  Lorg/h2/mvstore/rtree/SpatialKey;
            5   26     5   bminxf  F
            6   26     6   bmaxxf  F
            7   26     7   bminyf  F
            8   26     8   bmaxyf  F
            9   25     9        i  I
           12   23    10    minxf  F
           13   23    11    maxxf  F
           14   23    12    minyf  F
           15   23    13    maxyf  F
    MethodParameters:
         Name  Flags
      session  

  private org.h2.mvstore.rtree.SpatialKey getKey(org.h2.result.SearchRow);
    descriptor: (Lorg/h2/result/SearchRow;)Lorg/h2/mvstore/rtree/SpatialKey;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=4, args_size=2
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
        start local 1 // org.h2.result.SearchRow row
         0: .line 277
            aload 1 /* row */
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.columnIds:[I
            iconst_0
            iaload
            invokeinterface org.h2.result.SearchRow.getValue:(I)Lorg/h2/value/Value;
            astore 2 /* v */
        start local 2 // org.h2.value.Value v
         1: .line 279
            aload 2 /* v */
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            if_acmpeq 4
         2: .line 280
            aload 2 /* v */
            bipush 22
            invokevirtual org.h2.value.Value.convertTo:(I)Lorg/h2/value/Value;
            checkcast org.h2.value.ValueGeometry
            invokevirtual org.h2.value.ValueGeometry.getEnvelopeNoCopy:()[D
            dup
            astore 3 /* env */
        start local 3 // double[] env
         3: ifnonnull 5
        end local 3 // double[] env
         4: .line 281
      StackMap locals: org.h2.value.Value
      StackMap stack:
            new org.h2.mvstore.rtree.SpatialKey
            dup
            aload 1 /* row */
            invokeinterface org.h2.result.SearchRow.getKey:()J
            iconst_0
            newarray 6
            invokespecial org.h2.mvstore.rtree.SpatialKey.<init>:(J[F)V
            areturn
        start local 3 // double[] env
         5: .line 283
      StackMap locals: double[]
      StackMap stack:
            new org.h2.mvstore.rtree.SpatialKey
            dup
            aload 1 /* row */
            invokeinterface org.h2.result.SearchRow.getKey:()J
            iconst_4
            newarray 6
            dup
            iconst_0
         6: .line 284
            aload 3 /* env */
            iconst_0
            daload
            d2f
            fastore
            dup
            iconst_1
            aload 3 /* env */
            iconst_1
            daload
            d2f
            fastore
            dup
            iconst_2
         7: .line 285
            aload 3 /* env */
            iconst_2
            daload
            d2f
            fastore
            dup
            iconst_3
            aload 3 /* env */
            iconst_3
            daload
            d2f
         8: .line 283
            fastore
            invokespecial org.h2.mvstore.rtree.SpatialKey.<init>:(J[F)V
            areturn
        end local 3 // double[] env
        end local 2 // org.h2.value.Value v
        end local 1 // org.h2.result.SearchRow row
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/h2/mvstore/db/MVSpatialIndex;
            0    9     1   row  Lorg/h2/result/SearchRow;
            1    9     2     v  Lorg/h2/value/Value;
            3    4     3   env  [D
            5    9     3   env  [D
    MethodParameters:
      Name  Flags
      row   

  public org.h2.mvstore.db.MVTable getTable();
    descriptor: ()Lorg/h2/mvstore/db/MVTable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
         0: .line 290
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.mvTable:Lorg/h2/mvstore/db/MVTable;
            areturn
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/mvstore/db/MVSpatialIndex;

  public double getCost(org.h2.engine.Session, int[], org.h2.table.TableFilter[], int, org.h2.result.SortOrder, org.h2.command.dml.AllColumnsForPlan);
    descriptor: (Lorg/h2/engine/Session;[I[Lorg/h2/table/TableFilter;ILorg/h2/result/SortOrder;Lorg/h2/command/dml/AllColumnsForPlan;)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=7
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
        start local 1 // org.h2.engine.Session session
        start local 2 // int[] masks
        start local 3 // org.h2.table.TableFilter[] filters
        start local 4 // int filter
        start local 5 // org.h2.result.SortOrder sortOrder
        start local 6 // org.h2.command.dml.AllColumnsForPlan allColumnsSet
         0: .line 297
            aload 2 /* masks */
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.columns:[Lorg/h2/table/Column;
            invokestatic org.h2.index.SpatialTreeIndex.getCostRangeIndex:([I[Lorg/h2/table/Column;)J
            l2d
            dreturn
        end local 6 // org.h2.command.dml.AllColumnsForPlan allColumnsSet
        end local 5 // org.h2.result.SortOrder sortOrder
        end local 4 // int filter
        end local 3 // org.h2.table.TableFilter[] filters
        end local 2 // int[] masks
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/h2/mvstore/db/MVSpatialIndex;
            0    1     1        session  Lorg/h2/engine/Session;
            0    1     2          masks  [I
            0    1     3        filters  [Lorg/h2/table/TableFilter;
            0    1     4         filter  I
            0    1     5      sortOrder  Lorg/h2/result/SortOrder;
            0    1     6  allColumnsSet  Lorg/h2/command/dml/AllColumnsForPlan;
    MethodParameters:
               Name  Flags
      session        
      masks          
      filters        
      filter         
      sortOrder      
      allColumnsSet  

  public void remove(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
        start local 1 // org.h2.engine.Session session
         0: .line 302
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.h2.mvstore.db.MVSpatialIndex.getMap:(Lorg/h2/engine/Session;)Lorg/h2/mvstore/tx/TransactionMap;
            astore 2 /* map */
        start local 2 // org.h2.mvstore.tx.TransactionMap map
         1: .line 303
            aload 2 /* map */
            invokevirtual org.h2.mvstore.tx.TransactionMap.isClosed:()Z
            ifne 4
         2: .line 304
            aload 1 /* session */
            invokevirtual org.h2.engine.Session.getTransaction:()Lorg/h2/mvstore/tx/Transaction;
            astore 3 /* t */
        start local 3 // org.h2.mvstore.tx.Transaction t
         3: .line 305
            aload 3 /* t */
            aload 2 /* map */
            invokevirtual org.h2.mvstore.tx.Transaction.removeMap:(Lorg/h2/mvstore/tx/TransactionMap;)V
        end local 3 // org.h2.mvstore.tx.Transaction t
         4: .line 307
      StackMap locals: org.h2.mvstore.tx.TransactionMap
      StackMap stack:
            return
        end local 2 // org.h2.mvstore.tx.TransactionMap map
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/h2/mvstore/db/MVSpatialIndex;
            0    5     1  session  Lorg/h2/engine/Session;
            1    5     2      map  Lorg/h2/mvstore/tx/TransactionMap<Lorg/h2/mvstore/rtree/SpatialKey;Lorg/h2/value/Value;>;
            3    4     3        t  Lorg/h2/mvstore/tx/Transaction;
    MethodParameters:
         Name  Flags
      session  

  public void truncate(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
        start local 1 // org.h2.engine.Session session
         0: .line 311
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.h2.mvstore.db.MVSpatialIndex.getMap:(Lorg/h2/engine/Session;)Lorg/h2/mvstore/tx/TransactionMap;
            astore 2 /* map */
        start local 2 // org.h2.mvstore.tx.TransactionMap map
         1: .line 312
            aload 2 /* map */
            invokevirtual org.h2.mvstore.tx.TransactionMap.clear:()V
         2: .line 313
            return
        end local 2 // org.h2.mvstore.tx.TransactionMap map
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/h2/mvstore/db/MVSpatialIndex;
            0    3     1  session  Lorg/h2/engine/Session;
            1    3     2      map  Lorg/h2/mvstore/tx/TransactionMap<Lorg/h2/mvstore/rtree/SpatialKey;Lorg/h2/value/Value;>;
    MethodParameters:
         Name  Flags
      session  

  public boolean canGetFirstOrLast();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
         0: .line 317
            iconst_1
            ireturn
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/mvstore/db/MVSpatialIndex;

  public org.h2.index.Cursor findFirstOrLast(org.h2.engine.Session, boolean);
    descriptor: (Lorg/h2/engine/Session;Z)Lorg/h2/index/Cursor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
        start local 1 // org.h2.engine.Session session
        start local 2 // boolean first
         0: .line 322
            iload 2 /* first */
            ifne 3
         1: .line 324
            ldc "Spatial Index can only be fetch in ascending order"
         2: .line 323
            invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         3: .line 326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.h2.mvstore.db.MVSpatialIndex.find:(Lorg/h2/engine/Session;)Lorg/h2/index/Cursor;
            areturn
        end local 2 // boolean first
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/h2/mvstore/db/MVSpatialIndex;
            0    4     1  session  Lorg/h2/engine/Session;
            0    4     2    first  Z
    MethodParameters:
         Name  Flags
      session  
      first    

  public boolean needRebuild();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
         0: .line 332
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.dataMap:Lorg/h2/mvstore/tx/TransactionMap;
            invokevirtual org.h2.mvstore.tx.TransactionMap.sizeAsLongMax:()J
            lconst_0
            lcmp
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
         2: ireturn
         3: .line 333
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
            astore 1 /* e */
        start local 1 // java.lang.IllegalStateException e
         4: .line 334
            ldc 90007
            aload 1 /* e */
            iconst_0
            anewarray java.lang.String
            invokestatic org.h2.message.DbException.get:(ILjava/lang/Throwable;[Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.lang.IllegalStateException e
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/h2/mvstore/db/MVSpatialIndex;
            4    5     1     e  Ljava/lang/IllegalStateException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.IllegalStateException

  public long getRowCount(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
        start local 1 // org.h2.engine.Session session
         0: .line 340
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.h2.mvstore.db.MVSpatialIndex.getMap:(Lorg/h2/engine/Session;)Lorg/h2/mvstore/tx/TransactionMap;
            astore 2 /* map */
        start local 2 // org.h2.mvstore.tx.TransactionMap map
         1: .line 341
            aload 2 /* map */
            invokevirtual org.h2.mvstore.tx.TransactionMap.sizeAsLong:()J
            lreturn
        end local 2 // org.h2.mvstore.tx.TransactionMap map
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/h2/mvstore/db/MVSpatialIndex;
            0    2     1  session  Lorg/h2/engine/Session;
            1    2     2      map  Lorg/h2/mvstore/tx/TransactionMap<Lorg/h2/mvstore/rtree/SpatialKey;Lorg/h2/value/Value;>;
    MethodParameters:
         Name  Flags
      session  

  public long getRowCountApproximation();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
         0: .line 347
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.dataMap:Lorg/h2/mvstore/tx/TransactionMap;
            invokevirtual org.h2.mvstore.tx.TransactionMap.sizeAsLongMax:()J
         1: lreturn
         2: .line 348
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
            astore 1 /* e */
        start local 1 // java.lang.IllegalStateException e
         3: .line 349
            ldc 90007
            aload 1 /* e */
            iconst_0
            anewarray java.lang.String
            invokestatic org.h2.message.DbException.get:(ILjava/lang/Throwable;[Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.lang.IllegalStateException e
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/h2/mvstore/db/MVSpatialIndex;
            3    4     1     e  Ljava/lang/IllegalStateException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalStateException

  public long getDiskSpaceUsed();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
         0: .line 356
            lconst_0
            lreturn
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/mvstore/db/MVSpatialIndex;

  public void checkRename();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
         0: .line 362
            return
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/mvstore/db/MVSpatialIndex;

  private org.h2.mvstore.tx.TransactionMap<org.h2.mvstore.rtree.SpatialKey, org.h2.value.Value> getMap(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)Lorg/h2/mvstore/tx/TransactionMap;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.h2.mvstore.db.MVSpatialIndex this
        start local 1 // org.h2.engine.Session session
         0: .line 371
            aload 1 /* session */
            ifnonnull 2
         1: .line 372
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.dataMap:Lorg/h2/mvstore/tx/TransactionMap;
            areturn
         2: .line 374
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            invokevirtual org.h2.engine.Session.getTransaction:()Lorg/h2/mvstore/tx/Transaction;
            astore 2 /* t */
        start local 2 // org.h2.mvstore.tx.Transaction t
         3: .line 375
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVSpatialIndex.dataMap:Lorg/h2/mvstore/tx/TransactionMap;
            aload 2 /* t */
            invokevirtual org.h2.mvstore.tx.TransactionMap.getInstance:(Lorg/h2/mvstore/tx/Transaction;)Lorg/h2/mvstore/tx/TransactionMap;
            areturn
        end local 2 // org.h2.mvstore.tx.Transaction t
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.mvstore.db.MVSpatialIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/h2/mvstore/db/MVSpatialIndex;
            0    4     1  session  Lorg/h2/engine/Session;
            3    4     2        t  Lorg/h2/mvstore/tx/Transaction;
    Signature: (Lorg/h2/engine/Session;)Lorg/h2/mvstore/tx/TransactionMap<Lorg/h2/mvstore/rtree/SpatialKey;Lorg/h2/value/Value;>;
    MethodParameters:
         Name  Flags
      session  

  public org.h2.table.Table getTable();
    descriptor: ()Lorg/h2/table/Table;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.h2.mvstore.db.MVSpatialIndex.getTable:()Lorg/h2/mvstore/db/MVTable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "MVSpatialIndex.java"
NestMembers:
  org.h2.mvstore.db.MVSpatialIndex$FindBoundsCursor  org.h2.mvstore.db.MVSpatialIndex$MVStoreCursor
InnerClasses:
  public abstract MapBuilder = org.h2.mvstore.MVMap$MapBuilder of org.h2.mvstore.MVMap
  private final FindBoundsCursor = org.h2.mvstore.db.MVSpatialIndex$FindBoundsCursor of org.h2.mvstore.db.MVSpatialIndex
  public MVStoreCursor = org.h2.mvstore.db.MVSpatialIndex$MVStoreCursor of org.h2.mvstore.db.MVSpatialIndex
  public Store = org.h2.mvstore.db.MVTableEngine$Store of org.h2.mvstore.db.MVTableEngine
  public Builder = org.h2.mvstore.rtree.MVRTreeMap$Builder of org.h2.mvstore.rtree.MVRTreeMap
  public RTreeCursor = org.h2.mvstore.rtree.MVRTreeMap$RTreeCursor of org.h2.mvstore.rtree.MVRTreeMap