public void WriteUBits(uint value, int numBits)
{
int bitPos = 8 - this.bitCount;
int bitNum = numBits;
while (bitNum > 0)
{
while (bitPos > 0 && bitNum > 0)
{
if ((value & (1 << (bitNum - 1))) != 0)
{
this.buffer = this.buffer | (1 << (bitPos - 1));
}
bitNum--;
bitPos--;
this.bitCount++;
}
if (bitPos == 0)
{
this.Align8();
if (bitNum > 0)
{
bitPos = 8;
}
}
}
}