@Override
	public AddressIterator getAddresses() {
		checkDeleted();
		lock.acquire();
		try {
			if (propertyMap.isEmpty()) {
				return new EmptyAddressIterator();
			}
			AddressSet set = getAddressSet();
			return set.getAddresses(true);
		}
		finally {
			lock.release();
		}
	}
AddressSetPropertyMap that uses a RangeMapDB to maintain a set of addresses.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/util/AddressSetPropertyMapDB.java