public override long Seek (long offset, System.IO.SeekOrigin origin)
{
int bufRest = bufLength - bufPos;
if (origin == SeekOrigin.Current)
if (offset < bufRest)
return buffer [bufPos + offset];
else
return stream.Seek (offset - bufRest, origin);
else
return stream.Seek (offset, origin);
}