public override void GetObjectData(SerializationInfo info, StreamingContext context)
{
if (info == null)
throw new ArgumentNullException(nameof(info));
info.AddValue("MessageId", MessageId);
info.AddValue("CorrelationId", CorrelationId);
base.GetObjectData(info, context);
}