public void paintRange(Address startAddress, Address endAddress, Field value) {
		if (value == null && isEmpty()) {
			return;
		}
		AddressRange.checkValidRange(startAddress, endAddress);
		lock.acquire();
		try {
			if (value == null && rangeMapTable == null) {
				return;
			}
			clearCache();
			++modCount;

			if (rangeMapTable == null) {
				createTable();
			}
			doPaintRange(startAddress, endAddress, value);
		}
		catch (IOException e) {
			errHandler.dbError(e);
		}
		finally {
			lock.release();
		}
	}
Associates the given value with every address from start to end (inclusive)
Any previous associates are overwritten. 
@param startAddress the start address.
@param endAddress the end address.
@param value value to be painted, or null for value removal.
@throws IllegalArgumentException if the start and end addresses are not in the same
address space
@throws IllegalArgumentException if the end address is greater then the start address
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/util/AddressRangeMapDB.java