public void Flip(Int32 index) {
if (index < 0) {
throw new IndexOutOfRangeException("index cannot be less than zero.");
}
Int32 offset = WordIndex(index);
this.ExpandTo(offset);
this._bits[offset] ^= 1L << index;
this.RecalculateWordsInUse();
this.CheckInvariants();
}