public bool Equals(Message other)
{
if (ReferenceEquals(null, other)) return false;
if (ReferenceEquals(this, other)) return true;
return Equals(other.Severity, Severity) && other.Code == Code && Equals(other.Region, Region) && Equals(other.Format, Format) && ArgsEqual(other.Args, Args);
}