public DownloadStream(Bucket bucket, int totalBytes, string objectName, Access access) //TODO: better access-handling
        {
            string error;

            _length     = totalBytes;
            _bucket     = bucket;
            _objectName = objectName;
            _access     = access;

            _downloadResult = SWIG.storj_uplink.download_object(_access._project, bucket.Name, objectName, null); //TODO: make DownloadOptions available to caller
            _download       = new DownloadOperation(_downloadResult, totalBytes, objectName);
            if (!_download.Running && !_download.Completed && !_download.Cancelled && !_download.Failed)
            {
                _download.StartDownloadAsync();
            }
        }