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