@Override
	public synchronized void moveItem(String folderPath, String name, String newFolderPath,
			String newName) throws IOException, InvalidNameException {

		if (readOnly) {
			throw new ReadOnlyException();
		}

		ItemStorage itemStorage = findItemStorage(folderPath, name);
		LocalFolderItem item = getItem(folderPath, name);
		if (itemStorage == null || item == null) {
			throw new FileNotFoundException(
				"Item " + name + " in folder " + folderPath + " not found");
		}

		if (folderPath.equals(newFolderPath) && name.equals(newName)) {
			return;
		}

		testValidName(newFolderPath, true);
		testValidName(newName, false);

		item.checkInUse();

		ItemStorage newStorage = null;
		boolean success = false;
		try {

			newStorage = allocateItemStorage(newFolderPath, newName);

			item.moveTo(newStorage.dir, newStorage.storageName, newFolderPath, newName);

			deallocateItemStorage(folderPath, name);

			success = true;

			if (folderPath.equals(newFolderPath)) {
				eventManager.itemRenamed(folderPath, name, newName);
			}
			else {
				eventManager.itemMoved(folderPath, name, newFolderPath, newName);
			}
			deleteEmptyVersionedFolders(folderPath);
			deallocateItemStorage(folderPath, name);
		}
		finally {
			if (!success) {
				if (newStorage != null) {
					deallocateItemStorage(newFolderPath, newName);
				}
				deleteEmptyVersionedFolders(newFolderPath);
			}
		}
	}
Notification that FileID has been changed within propertyFile
@param propertyFile
@param oldFileId
@throws IOException
Ghidra/Framework/FileSystem/src/main/java/ghidra/framework/store/local/LocalFileSystem.java