public DBFieldIterator indexKeyIteratorBefore(int columnIndex, Field startField,
			Field primaryKey) throws IOException {
		synchronized (db) {
			IndexTable indexTable = secondaryIndexes.get(columnIndex);
			if (indexTable == null) {
				throw new IOException("Index required (" + getName() + "," + columnIndex + ")");
			}
			return indexTable.keyIteratorBefore(startField, primaryKey);
		}
	}
Iterate over all primary keys sorted based upon the associated index key.
The iterator is initially positioned before the primaryKey within the index buffer 
whose index key is equal to the specified startField value or immediately before the first 
index buffer whose index key is greater than the specified startField value.
@param columnIndex schema column to sort on
@param startField index column value which determines initial position of iterator
@param primaryKey initial position within index buffer if index key matches startField value.
@return primary key iterator
@throws IOException thrown if IO error occurs
Ghidra/Framework/DB/src/main/java/db/Table.java