boolean containsSameObjects(Mark mark) {
        if (obj == mark) {
            return true;
        }
        if ((obj == null) || (mark.obj == null)) {
            return false;
        }
        else if (obj.equals(mark.obj)) {
            return true;
        }
        else if ((obj instanceof Object[]) && (mark.obj instanceof Object[])) {
            Object[] array1 = (Object[])obj;
            Object[] array2 = (Object[])mark.obj;
            if (array1.length == array2.length) {
                for(int i=0;i<array1.length;i++) {
                    if (!array1[i].equals(array2[i])) {
                        return false;
                    }
                }
                return true;
            }
        }
        else if (obj instanceof Object[]) {
            Object[] array = (Object[])obj;
            return (array.length == 1) && (array[0].equals(mark.obj));
        }
        else if (mark.obj instanceof Object[]) {
            Object[] array = (Object[])mark.obj;
            return (array.length == 1) && (array[0].equals(obj));
        }
        return false;
    }
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