public void Or(BitSet bs) {
if (bs == null) {
throw new ArgumentNullException("bs");
}
if (this == bs) {
return;
}
Int32 wordsInCommon = Math.Min(this._wordsInUse, bs._wordsInUse);
if (this._wordsInUse < bs._wordsInUse) {
this.EnsureCapacity(bs._wordsInUse);
this._wordsInUse = bs._wordsInUse;
}
for (Int32 i = 0; i < wordsInCommon; i++) {
this._bits[i] |= bs._bits[i];
}
if (wordsInCommon < bs._wordsInUse) {
Array.Copy(bs._bits, wordsInCommon, this._bits, wordsInCommon, this._wordsInUse - wordsInCommon);
}
this.CheckInvariants();
}