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());
}
}
}