public IEnumerator <DiffSegnment <TKey> > GetEnumerator() { var resultingSequence = CommonKeys.Select(key => new DiffSegnment <TKey>(EditOperation.Equl, key)).Concat( DeletedKeys.Select(key => new DiffSegnment <TKey>(EditOperation.Delete, key)) ).Concat( InsertedKeys.Select(key => new DiffSegnment <TKey>(EditOperation.Insert, key)) ); return(resultingSequence.GetEnumerator()); }