internal Mappings Remove(Mapping mapping, out bool wasCreated) { wasCreated = Created.Contains(mapping); var created = Created.Contains(mapping) ? Created.Except(new[] { mapping }).ToArray() : Created; var pending = Pending.Contains(mapping) ? Pending.Except(new[] { mapping }).ToArray() : Pending; var failed = Failed.Contains(mapping) ? Failed.Except(new[] { mapping }).ToArray() : Failed; return(new Mappings(created, pending, failed)); }