public Iterable<K> keys() {
		return new Iterable<>() {
			@Override
			public Iterator<K> iterator() {
				try {
					Iterator<T> valueIterator = store.iterator(columnIndex, fieldSpan, direction);
					return new Iterator<>() {
						@Override
						public boolean hasNext() {
							return valueIterator.hasNext();
						}

						@Override
						public K next() {
							T value = valueIterator.next();
							return codec.getValue(value);
						}
					};
				}
				catch (IOException e) {
					errHandler.dbError(e);
					return null;
				}
			}
		};
	}
Iterate over the values of the indexed column, in order

<p>
Despite being called keys, the values may not be unique

@return the iterator
Ghidra/Debug/ProposedUtils/src/main/java/ghidra/util/database/DBCachedObjectIndex.java