private int GetBits(int need)
{
int val = this._bitBuffer;
while (this._bitBufferCount < need)
{
val |= ((int)ConsumeByte()) << this._bitBufferCount;
this._bitBufferCount += 8;
}
this._bitBuffer = val >> need;
this._bitBufferCount -= need;
return val & ((1 << need) - 1);
}