}
DownloadDirectContext context = new DownloadDirectContext(task, metaChunk, tempDestination);
SequentialProcess process = new SequentialProcess();
process.add(new SelectPeerForDownloadStep(context));
process.add(new AskForChunkStep(context, messageManager, keyManager, config));
try {
process.start().await();
} catch (InvalidProcessStateException | InterruptedException e) {
task.abortDownload(e.getMessage());