public static GZipOutputStream create(OutputStream finalOut) throws IOException {
      PipedInputStream pipeIn = new PipedInputStream();
      PipedOutputStream pipeOut = new PipedOutputStream(pipeIn);

      Future<Void> copyFuture = sExecutor.submit(