throws NoSessionException, NoPeerConnectionException {
MoveFileProcessContext context = new MoveFileProcessContext(source, destination, networkManager.getUserId());
SequentialProcess process = new SequentialProcess();
process.add(new MoveOnDiskStep(context, networkManager));
process.add(new RelinkUserProfileStep(context, networkManager));
process.add(createNotificationProcess(context.getMoveNotificationContext(), networkManager));
process.add(createNotificationProcess(context.getDeleteNotificationContext(), networkManager));
process.add(createNotificationProcess(context.getAddNotificationContext(), networkManager));
return process;