public override int Read(byte[] buffer, int offset, int count)
{
int realReadLength = Math.Min(count, _data.Length - _currentPosition);
Array.Copy(_data, _currentPosition, buffer, offset, realReadLength);
_currentPosition += realReadLength;
return realReadLength;
}