internal void Save(Stream stream, LogMessageSaveHelper saveHelper = null)
{
if (saveHelper == null)
saveHelper = LogMessageSaveHelper.Create(true);
stream.Write((byte)4);
saveHelper.SaveEventPublisherDetails(stream, EventPublisherDetails);
saveHelper.SaveStackMessages(stream, InitialStackMessages);
saveHelper.SaveStackTrace(stream, InitialStackTrace);
saveHelper.SaveStackMessages(stream, CurrentStackMessages);
saveHelper.SaveStackTrace(stream, CurrentStackTrace);
stream.Write(UtcTime);
LogMessageAttributes.Save(stream);
saveHelper.SaveString(stream, Message);
saveHelper.SaveString(stream, Details);
saveHelper.SaveString(stream, ExceptionString);
stream.Write(ManagedThreadID);
stream.Write(PreviousFirstChanceExceptionSequenceNumber);
}