public void Write( Stream output )
{
BitStream bits = new BitStream( output );
int bitsNeeded = bits.CountMaximumBits(_x_min, _x_max, _y_min, _y_max);
bits.WriteBits(5, (ulong)bitsNeeded);
// reassign, so we don't work with stale data
_bits_per_entry = (uint)bitsNeeded;
bits.WriteBits(bitsNeeded, _x_min);
bits.WriteBits(bitsNeeded, _x_max);
bits.WriteBits(bitsNeeded, _y_min);
bits.WriteBits(bitsNeeded, _y_max);
bits.WriteFlush();
}