public override Stream OpenReader()
{
lock (this)
{
if (needRestart && this.initialPosition < 0L)
throw new Exception("The underlying Stream cannot be reset. It has already been opened.");
if (alreadyOpen)
throw new Exception("There's already a reader Stream open on this Blob. Close the first Stream before requesting a new one.");
if (needRestart)
stream.Seek(initialPosition, SeekOrigin.Begin);
alreadyOpen = true;
}
return new BlobStream(this);
}