protected override int RawRead(byte[] buffer, int offset, int count)
{
byte[] new_buffer = buffer;
int ret = proxy.Read(ref new_buffer, offset, count);
// the copying is necessary if proxy.Read was a remote call
if (!Object.ReferenceEquals(buffer, new_buffer))
{
new_buffer.CopyTo(buffer, 0);
}
return ret;
}