public Object runWithLock(SqlJetDb db) throws SqlJetException { final SqlJetBtreeDataTable table = new SqlJetBtreeDataTable(btree, tableName, write); checkIndexName(indexName, table); if (isNeedReverse(getIndexTable(indexName, table), adjustedScope)) { return new SqlJetReverseOrderCursor(new SqlJetIndexScopeCursor(table, db, indexName, adjustedScope.reverse())); } else { return new SqlJetIndexScopeCursor(table, db, indexName, adjustedScope); } } });