@Override
	public void deleteAddressRange(Address startAddr, Address endAddr, TaskMonitor monitor)
			throws CancelledException {
		AddressRange.checkValidRange(startAddr, endAddr);
		lock.acquire();
		try {
			ArrayList<EquateRefDB> list = new ArrayList<>();
			AddressIterator iter = getEquateAddresses(startAddr, endAddr);
			while (iter.hasNext()) {
				if (monitor.isCancelled()) {
					throw new CancelledException();
				}
				Address addr = iter.next();
				Field[] keys = refAdapter.getRecordKeysForAddr(addrMap.getKey(addr, false));
				for (Field key : keys) {
					EquateRefDB ref = getEquateRefDB(key.getLongValue());
					list.add(ref);
				}
			}
			for (EquateRefDB ref : list) {
				if (monitor.isCancelled()) {
					throw new CancelledException();
				}
				EquateDB equateDB = getEquateDB(ref.getEquateID());

				removeRef(equateDB, ref);
				if (getReferenceCount(equateDB.getKey()) == 0) {
					removeEquate(equateDB);
				}
			}

		}
		catch (IOException e) {
			program.dbError(e);
		}
		finally {
			lock.release();
		}
	}
Constructor
@param handle database handle
@param addrMap map that converts addresses to longs and longs to addresses
@param openMode one of ProgramDB.CREATE, UPDATE, UPGRADE, or READ_ONLY
@param lock the program synchronization lock
@param monitor the progress monitor used when upgrading.
@throws VersionException if the database version doesn't match the current version.
@throws IOException if a database error occurs.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/EquateManager.java