private bool CollectionsAreEqual(ICollection coll1, ICollection coll2)
{
if (coll1 == coll2)
{
return true;
}
if (coll1 == null || coll2 == null)
{
return false;
}
if (coll1.Count != coll2.Count)
{
return false;
}
IEnumerator it1 = coll1.GetEnumerator();
while (it1.MoveNext())
{
Object a = it1.Current;
IEnumerator it2 = coll2.GetEnumerator();
bool found = false;
while (it2.MoveNext())
{
Object b = it2.Current;
if (SpecialEquals(a, b))
{
found = true;
break;
}
}
if (!found)
{
return false;
}
}
return true;
}