fun writeToFile(response: Response, file: File): Single { return Single.create { emitter -> val bufferedSource = response.body()?.source() val bufferedSink = file.sink().buffer() bufferedSource?.use { source -> bufferedSink.use { sink -> sink.writeAll(source) } } ?: throw IllegalArgumentException("Response is NULL") emitter.onSuccess(ListenableWorker.Result.success()) } }