/// <summary>
/// TBD
/// </summary>
/// <param name="oldGossip">TBD</param>
/// <param name="newGossip">TBD</param>
/// <param name="selfUniqueAddress">TBD</param>
/// <returns>TBD</returns>
internal static ImmutableList<LeaderChanged> DiffLeader(Gossip oldGossip, Gossip newGossip, UniqueAddress selfUniqueAddress)
{
var newLeader = newGossip.Leader(selfUniqueAddress);
if ((newLeader == null && oldGossip.Leader(selfUniqueAddress) == null)
|| newLeader != null && newLeader.Equals(oldGossip.Leader(selfUniqueAddress)))
return ImmutableList<LeaderChanged>.Empty;
return ImmutableList.Create(newLeader == null
? new LeaderChanged(null)
: new LeaderChanged(newLeader.Address));
}