public override Container Or(ArrayContainer x)
{
BitsetContainer answer = (BitsetContainer) Clone();
int c = x.Cardinality;
for (int k = 0; k < c ; ++k)
{
ushort v = x.Content[k];
int i = v >> 6;
long w = answer.Bitmap[i];
long aft = w | (1L << v);
answer.Bitmap[i] = aft;
answer.Cardinality += (int)((w - aft) >> 63);
}
return answer;
}