*/
// download remotely added/updated files
List<Index> toDownload = new ArrayList<Index>(synchronizer.getAddedRemotely());
toDownload.addAll(synchronizer.getUpdatedRemotely());
ProcessComponent downloadProcess = FileRecursionUtil.buildDownloadProcess(toDownload, networkManager);
getParent().add(downloadProcess);
// upload the locally added files
List<Path> toUploadNewFiles = synchronizer.getAddedLocally();
ProcessComponent addProcess = FileRecursionUtil.buildUploadProcess(toUploadNewFiles,
FileProcessAction.NEW_FILE, networkManager);
getParent().add(addProcess);
// upload the locally updated files
List<Path> toUploadModifiedFiles = synchronizer.getUpdatedLocally();
ProcessComponent updateProcess = FileRecursionUtil.buildUploadProcess(toUploadModifiedFiles,
FileProcessAction.MODIFY_FILE, networkManager);
getParent().add(updateProcess);
// remove files from the DHT that have been deleted locally
List<Index> toDeleteInDHT = synchronizer.getDeletedLocally();
ProcessComponent deletionProcess = FileRecursionUtil.buildDeletionProcessFromNodelist(toDeleteInDHT,
networkManager);
getParent().add(deletionProcess);
// delete the remotely deleted files (is done directly here)
List<Path> toDeleteOnDisk = synchronizer.getDeletedRemotely();