@Override
	public final String toString() {
		lock.acquire();
		try {
			if (blocks == null || blocks.isEmpty()) {
				return "[empty]\n";
			}
			StringBuffer buffer = new StringBuffer();
			for (MemoryBlock block : blocks) {
				buffer.append("[");
				buffer.append(block.getStart());
				buffer.append(", ");
				buffer.append(block.getEnd());
				buffer.append("] ");
			}
			return buffer.toString();
		}
		finally {
			lock.release();
		}
	}
Converts the given address range back from the source range back to the mapped range. NOTE:
It is important that the specified mappedSourceRange is restricted to the mapped source area
of the specified mappedBlock.

@param mappedBlock mapped memory block
@param mappedSourceRange source range which maps into mappedBlock.
@return mapped range or null if source range not mapped to block
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/mem/MemoryMapDB.java