public override int ReadBlock(char[] buffer, int index, int count)
{
int number;
var nextNumber = 0;
do
{
nextNumber += number = Read(buffer, index + nextNumber, count - nextNumber);
} while ((number > 0) && (nextNumber < count));
return nextNumber;
}