@Override
		public boolean hasNext() throws IOException {
			synchronized (db) {
				if (iterCnt <= SHORT_ITER_THRESHOLD && ++iterCnt > SHORT_ITER_THRESHOLD) {
					// Switch to long-running iterator
					keyIter =
						new LongDurationLongKeyIterator((ShortDurationLongKeyIterator) keyIter);
				}
				return keyIter.hasNext();
			}
		}
Construct a record iterator. The underlying iterator is optimized for
short iterations.  If it determined that the iterator is to be used 
for a large number of iterations, the underlying iterator is switched
to one optimized for longer iterations.
@param minKey minimum allowed primary key.
@param maxKey maximum allowed primary key.
@param startKey the first primary key value.
@throws IOException thrown if IO error occurs
Ghidra/Framework/DB/src/main/java/db/Table.java