@Override
	public void moveAddressRange(Address fromAddr, Address toAddr, long length, TaskMonitor monitor)
			throws AddressOverflowException, CancelledException {

		lock.acquire();

		try {
			Iterator<String> keys = treeMap.keySet().iterator();
			monitor.setMessage("Moving folders/fragments...");
			while (keys.hasNext()) {
				monitor.checkCancelled();
				ModuleManager m = treeMap.get(keys.next());
				m.moveAddressRange(fromAddr, toAddr, length, monitor);
				m.invalidateCache();
			}
			// rebuild the map
			treeMap.clear();
			refreshTreeMap(false);
		}
		catch (IOException e) {
			errHandler.dbError(e);
		}
		finally {
			lock.release();
		}
	}
Add a memory block with the given range.
@param name memory block name (name of new fragment)
@param range memory block address range
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/module/TreeManager.java