title: How to chain Guava futures?
body: <p>I'm trying to create a small service to accept file upload, unzip it and then delete the uploaded file. Those three steps should be chained as futures. I'm using Google Guava library.</p>
  
  <p>Workflow is: </p>
  
  <p>A future to download the file, if the operation completed, then a future to unzip the file. If unzipping is done, a future to delete the original uploaded file.</p>
  
  <p>But honestly, it isn't clear to me how I would chain the futures, and even how to create them in Guava's way. Documentation is simply terse and unclear. Ok, there is <code>transform</code> method but no concrete example at all. <code>chain</code> method is deprecated.</p>
  
  <p>I miss <code>RxJava</code> library.</p>