public void removeRange(int min, int max) {
		Range key = new Range(min, min);
		SortedSet<Range> headSet = set.headSet(key);
		if (!headSet.isEmpty()) {
			Range last = headSet.last();
			if (last.max >= min) {
				if (max < last.max) {
					set.add(new Range(max + 1, last.max));
					last.max = Math.min(last.max, min - 1);
					return;
				}
				last.max = Math.min(last.max, min - 1);
			}
		}
		Iterator<Range> it = set.tailSet(key).iterator();
		while (it.hasNext()) {
			Range next = it.next();
			if (next.min > max) {
				break;
			}
			else if (next.max > max) {
				next.min = max + 1;
				break;
			}
			it.remove();
		}
	}
Removes the indicated range of values from the list. This will remove
any ranges or portion of ranges that overlap the indicated range.
@param min the minimum value for the range to remove.
@param max the maximum value for the range to remove.
Ghidra/Framework/Generic/src/main/java/ghidra/util/datastruct/SortedRangeList.java