public void paintRange(long start, long end, int value) {

		// first fix up the end of the range, unless the end goes to the END
		if (end != Long.MAX_VALUE) {
			int origEndValue = getValue(end+1);
			if (origEndValue != value) {
				map.putInt(end+1, origEndValue);
			}
			else {
				map.remove(end+1);
			}
		}

		
		// now remove any values stored from start to end
		LongIterator it = map.getPropertyIterator(start);
		while(it.hasNext()) {
			long next = it.next();
			if (next > end) break;
			map.remove(next);
		}


		if (start == 0) {
			map.putInt(0,value);
		} 
		else {
			int startValue = getValue(start);
			if (startValue != value) {
				map.putInt(start, value);
			}
		}			
	}
Associates the given value with every index from start to end (inclusive)
Any previous associates are overwritten.
@param start the start index of the range to fill.
@param end the end index of the range to fill
@param value the value to put at every index in the range.
Ghidra/Framework/Generic/src/main/java/ghidra/util/datastruct/RangeMap.java