public default SourceMapEntry addSourceMapEntry(SourceFile sourceFile, int lineNumber,
			AddressRange range) throws LockException {
		try {
			return addSourceMapEntry(sourceFile, lineNumber, range.getMinAddress(),
				range.getLength());
		}
		// can't happen
		catch (AddressOverflowException e) {
			throw new AssertionError("Address overflow with valid AddressRange");
		}
	}
Adds a {@link SourceMapEntry} with {@link SourceFile} {@code sourceFile},
line number {@code lineNumber}, and {@link AddressRange} {@code range} to the program 
database.
<p>
Entries with non-zero lengths must either cover the same address range or be disjoint.
@param sourceFile source file
@param lineNumber line number
@param range address range
@return created SourceMapEntry
@throws LockException if invoked without exclusive access
@throws IllegalArgumentException if the range of the new entry intersects, but does
not equal, the range of an existing entry or if sourceFile was not previously added
to the program.
@throws AddressOutOfBoundsException if the range of the new entry contains addresses
that are not in a defined memory block
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/sourcemap/SourceFileManager.java