code: public static long copyAndClose(InputStream is, OutputStream os) throws IOException
    {
      try {
        final long retval = ByteStreams.copy(is, os);
        // Workarround for http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/759aa847dcaf
        os.flush();
        return retval;
      }
      finally {
        is.close();
        os.close();
      }
    }
docs: Copy from `is` to `os` and close the streams regardless of the result.
  
  @param is The `InputStream` to copy results from. It is closed
  @param os The `OutputStream` to copy results to. It is closed
  
  @return The count of bytes written to `os`
  
  @throws IOException