private void copyFolder(DomainFolder folder, DomainFolder newParent, TaskMonitor monitor) {

		String name = folder.getName();

		try {
			folder.copyTo(newParent, monitor);
			Msg.info(this, "Copied folder " + name + " to " + newParent.toString());

		}
		catch (FileNotFoundException e) {
			// user may have renamed something in this item's path
			Msg.error(this, "Folder not found '" + folder + "'");
			hasFailedCopy = true;
		}
		catch (CancelledException e) {
			// just return
		}
		catch (Exception e) {
			ClientUtil.handleException(repository, e, "Copy Folder", null);
		}
	}
Copy the given folder and all of its contents into a new parent folder
Ghidra/Framework/Project/src/main/java/ghidra/framework/main/datatree/PasteFileTask.java