public RecordIterator indexIteratorAfter(int columnIndex, Field startValue, Field primaryKey)
			throws IOException {
		synchronized (db) {
			IndexTable indexTable = secondaryIndexes.get(columnIndex);
			if (indexTable == null) {
				throw new IOException("Index required (" + getName() + "," + columnIndex + ")");
			}
			return new KeyToRecordIterator(this,
				indexTable.keyIteratorAfter(startValue, primaryKey));
		}
	}
Iterate over the records using a secondary index.  Sorting occurs on the
specified schema column.  The iterator's initial position immediately follows 
the specified startValue and primaryKey. If no such entry exists, the initial position 
corresponds to where it would exist.
<p>
This table must have been constructed with a secondary index on the specified column.

@param columnIndex schema column to sort on.
@param startValue the starting value of the secondary index field.
@param primaryKey the primary key associated with the startField.
@return RecordIterator record iterator.
@throws IOException if a secondary index does not exist for the specified
column, or the wrong field type was specified, or an I/O error occurs.
Ghidra/Framework/DB/src/main/java/db/Table.java