public function uploadChunkIterator($file, $filePath, $uploadRequestInfo, $numberOfChunks, &$chunkNumber)
    {
        while ($chunk = fread($file, self::CHUNK_SIZE)) {
            $chunkNumber++;
            yield $this->uploadChunkAsync($filePath, $chunk, $uploadRequestInfo, $numberOfChunks, $chunkNumber);
        }
    }