private long doSplit(Object obj, long start, long next, long end) {
        Mark existMark = getMark(start);
        if (next > end) {
            // add a new begin end
            markStart(end+1, existMark.obj);
        }
        existMark.add(obj);
        long splitEnd = Math.min(next, end);
        markEnd(splitEnd, existMark.obj);
        return splitEnd;
    }
Adds a range to a object.
Assumes that the range has already been cleared.

@param range the range being added.
@param objID the id of the object the range is being
added to.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/address/AddressObjectMap.java