public override Container And(ArrayContainer value2)
{
ArrayContainer value1 = this;
int desiredCapacity = Math.Min(value1.GetCardinality(), value2.GetCardinality());
ArrayContainer answer = new ArrayContainer(desiredCapacity);
answer.Cardinality = Utility.UnsignedIntersect2by2(value1.Content,
value1.GetCardinality(),
value2.Content,
value2.GetCardinality(),
answer.Content);
return answer;
}