public bool Equals(ORDictionary <TKey, ORSet <TValue> > .IDeltaOperation other) { if (other is ORDictionary <TKey, ORSet <TValue> > .DeltaGroup group) { if (Underlying is ORDictionary <TKey, ORSet <TValue> > .DeltaGroup ourGroup) { return(ourGroup.Operations.SequenceEqual(group.Operations)); } if (group.Operations.Length == 1) { return(Underlying.Equals(group.Operations.First())); } return(false); } return(Underlying.Equals(other)); }