public void moveTo(RepositoryFolder newParent, String newItemName, String user)
			throws InvalidNameException, IOException {
		synchronized (fileSystem) {
			validate();
			repository.validateWritePrivilege(user);
			String oldName = name;
			String oldPath = getPathname();
			String newFolderPath = newParent.getPathname();
			fileSystem.moveItem(parent.getPathname(), getName(), newFolderPath, newItemName);
			name = newItemName;
			parent.fileMoved(this, oldName, newParent);
			parent = newParent;
			pathChanged();
			RepositoryManager.log(repository.getName(), oldPath, "file moved to " + getPathname(),
				user);
		}
	}
Move this file/item to a new folder and optionally change its name.
@param newParent new parent folder
@param newItemName new file/item name
@param user user who initiated the request
@throws InvalidNameException if name is invalid
@throws UserAccessException if user is denied write access
@throws IOException if an IO error occurs
Ghidra/Features/GhidraServer/src/main/java/ghidra/server/store/RepositoryFile.java