public void UploadPartToCloud(Stream fileStream, long uploadedBytes, long maxChunkedBytes)
    {
        int partNumber = uploadPartETags.Count() + 1;     // current part
        // 2. Upload Parts.
        UploadPartRequest request = new UploadPartRequest();

        request.BucketName = this.DestinationBucket;
        request.Key        = this.DestinationFilename;
        request.UploadId   = initResponse.UploadId;
        request.PartNumber = partNumber;
        request.PartSize   = fileStream.Length;
        //request.FilePosition = uploadedBytes // remove this line?
        request.InputStream = fileStream;     // as UploadPartRequest;
        var up = client.UploadPart(request);

        uploadPartETags.Add(new PartETag()
        {
            ETag = up.ETag, PartNumber = partNumber
        });
    }