@Override
	public AddressIterator getPropertyIterator(AddressSetView asv, boolean forward) {
		validate(lock);
		Table table = propertyTable;
		if (table == null || (asv != null && asv.isEmpty())) {
			return AddressIterator.EMPTY_ITERATOR;
		}
		AddressKeyIterator keyIter = null;
		try {
			if (forward) {
				keyIter = new AddressKeyIterator(table, addrMap, asv, asv.getMinAddress(), true);
			}
			else {
				keyIter = new AddressKeyIterator(table, addrMap, asv, asv.getMaxAddress(), false);
			}
		}
		catch (IOException e) {
			errHandler.dbError(e);
		}
		return new AddressKeyAddressIterator(keyIter, forward, addrMap, errHandler);
	}
Get an iterator over the long address keys which contain a property value.
@param start start of iterator address range
@param end end of iterator address range
@param atStart true if the iterator should be positioned at the start
of the range
@return long address iterator.
@throws IOException if IO error occurs
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/properties/PropertyMapDB.java