public virtual void GetObjectData (SerializationInfo info, StreamingContext context)
{
if (info == null)
throw new ArgumentNullException ("info");
info.AddValue ("ClassName", ClassName);
info.AddValue ("Message", message);
info.AddValue ("InnerException", inner_exception);
info.AddValue ("HelpURL", help_link);
info.AddValue ("StackTraceString", StackTrace);
info.AddValue ("RemoteStackTraceString", _remoteStackTraceString);
info.AddValue ("RemoteStackIndex", remote_stack_index);
info.AddValue ("HResult", hresult);
info.AddValue ("Source", Source);
info.AddValue ("ExceptionMethod", null);
info.AddValue ("Data", _data, typeof (IDictionary));
}