private void checkCoalese(long first, long second) {
        Mark fMark = getMark(first);
        Mark sMark = getMark(second);
        if (fMark == null || sMark == null) {
            return;
        }
        if (!fMark.containsSameObjects(sMark)) {
            return;
        }

        if (fMark.type == Mark.END && sMark.type == Mark.START) {
            objMarkers.remove(first);
            objMarkers.remove(second);
        }
        else if (fMark.type == Mark.END && sMark.type == Mark.SINGLE) {
            objMarkers.remove(first);
            objMarkers.putObject(second, fMark);
        }
        else if (fMark.type == Mark.SINGLE && sMark.type == Mark.SINGLE) {
            objMarkers.putObject(first,new Mark(fMark.obj,Mark.START));
            objMarkers.putObject(second,new Mark(fMark.obj,Mark.END));
            markStart(first,fMark.obj);
            markEnd(second,fMark.obj);
        }
        else if (fMark.type == Mark.SINGLE && sMark.type == Mark.START) {
            objMarkers.remove(second);
            objMarkers.putObject(first,sMark);
        }
    }
Removes a range from a object.

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