public virtual int GetBytes(byte[] dest, int amount)
{
int avail = amount;
if (avail > m_bytes_in_buffer)
avail = m_bytes_in_buffer;
for (int i = 0; i < avail; i++)
{
dest[i] = m_next_input_byte[m_position];
m_position++;
m_bytes_in_buffer--;
}
return avail;
}