public object EndInvoke(IAsyncResult result)
{
AsyncDelegate delegate2 = result as AsyncDelegate;
if (delegate2 == null)
{
throw new ArgumentException(Microsoft.ManagementConsole.Internal.Utility.LoadResourceString(Microsoft.ManagementConsole.Internal.Strings.AsyncDelegateQueueEndInvokeInvokeMismatch), "result");
}
if (!delegate2.IsCompleted)
{
delegate2.AsyncWaitHandle.WaitOne();
}
return delegate2.DelegateResult;
}