internal void RestoreExceptionDispatchInfo(ExceptionDispatchInfo exceptionDispatchInfo)
{
bool flag = !Exception.IsImmutableAgileException(this);
if (flag)
{
try
{
}
finally
{
object currentStackTrace = (exceptionDispatchInfo.BinaryStackTraceArray == null) ? null : this.DeepCopyStackTrace(exceptionDispatchInfo.BinaryStackTraceArray);
object dynamicMethodArray = (exceptionDispatchInfo.DynamicMethodArray == null) ? null : this.DeepCopyDynamicMethods(exceptionDispatchInfo.DynamicMethodArray);
object obj = Exception.s_EDILock;
lock (obj)
{
this._watsonBuckets = exceptionDispatchInfo.WatsonBuckets;
this._ipForWatsonBuckets = exceptionDispatchInfo.IPForWatsonBuckets;
this._remoteStackTraceString = exceptionDispatchInfo.RemoteStackTrace;
Exception.SaveStackTracesFromDeepCopy(this, currentStackTrace, dynamicMethodArray);
}
this._stackTraceString = null;
Exception.PrepareForForeignExceptionRaise();
}
}
}