public unsafe int Write (byte [] buf, int offset, int count)
{
if (Expandable == false)
throw new Exception ("This should not happen.");
fixed (byte *p = &buf[0]) {
IntPtr p2 = new IntPtr (p + offset);
blocks.Write (p2, count);
}
length += count;
return count;
}