in src/Proton/Types/Messaging/Source.cs [105:119]
public override bool Equals(object obj)
{
return obj is Source source &&
Address == source.Address &&
Durable == source.Durable &&
ExpiryPolicy == source.ExpiryPolicy &&
Timeout == source.Timeout &&
Dynamic == source.Dynamic &&
EqualityComparer<IDictionary<Symbol, object>>.Default.Equals(DynamicNodeProperties, source.DynamicNodeProperties) &&
EqualityComparer<Symbol>.Default.Equals(DistributionMode, source.DistributionMode) &&
EqualityComparer<IDictionary<Symbol, object>>.Default.Equals(Filter, source.Filter) &&
EqualityComparer<IOutcome>.Default.Equals(DefaultOutcome, source.DefaultOutcome) &&
EqualityComparer<Symbol[]>.Default.Equals(Outcomes, source.Outcomes) &&
EqualityComparer<Symbol[]>.Default.Equals(Capabilities, source.Capabilities);
}