Mutation.Type mutationType = copiedNodesAreCut ? Mutation.Type.MOVE : Mutation.Type.COPY;
WorkspaceTreeUpdate msg = fileTreeModel.makeEmptyTreeUpdate();
for (int i = 0, n = copiedNodes.size(); i < n; i++) {
FileTreeNode copiedNode = copiedNodes.get(i);
PathUtil targetPath = new PathUtil.Builder().addPath(parentDirData.getNodePath())
.addPathComponent(FileTreeUtils.allocateName(
parentDirData.<DirInfoImpl>cast(), copiedNode.getName())).build();
msg.getMutations().add(FileTreeUtils.makeMutation(
mutationType, copiedNode.getNodePath(), targetPath, copiedNode.isDirectory(),
copiedNode.getFileEditSessionKey()));