private void WriteMultiByteInt32(int i)
{
int offset;
byte[] buffer = GetBuffer(5, out offset);
int startOffset = offset;
while ((i & 0xFFFFFF80) != 0)
{
buffer[offset++] = (byte)((i & 0x7F) | 0x80);
i >>= 7;
}
buffer[offset++] = (byte)i;
Advance(offset - startOffset);
}