public void SetThreadPrincipal (IPrincipal principal)
{
if (principal == null)
throw new ArgumentNullException ("principal");
if (_principal != null)
throw new PolicyException (Locale.GetText ("principal already present."));
if (IsFinalizingForUnload ())
throw new AppDomainUnloadedException ();
_principal = principal;
}
#endif