protected bool Equals(Collection other) { return(Id == other.Id && ArrayStrings.EquivalentTo(other.ArrayStrings) && SetStrings.EquivalentTo(other.SetStrings) && ListStrings.EquivalentTo(other.ListStrings) && ArrayInts.EquivalentTo(other.ArrayInts) && SetInts.EquivalentTo(other.SetInts) && ListInts.EquivalentTo(other.ListInts) && DictionaryInts.EquivalentTo(other.DictionaryInts) && DictionaryStrings.EquivalentTo(other.DictionaryStrings) && PocoLookup.EquivalentTo(other.PocoLookup, (a, b) => a.EquivalentTo(b)) && PocoLookupMap.EquivalentTo(other.PocoLookupMap, (a, b) => a.EquivalentTo(b, (m1, m2) => m1.EquivalentTo(m2)))); }