private bool compare(object a, object b) { return comparer == null ? a.Equals(b) : comparer.Equals(a, b); }