public override IPermission Union(IPermission target)
{
ZoneIdentityPermission zip = Cast(target);
if (zip == null)
{
return((zone == SecurityZone.NoZone) ? null : Copy());
}
if (zone == zip.zone || zip.zone == SecurityZone.NoZone)
{
return(Copy());
}
if (zone == SecurityZone.NoZone)
{
return(zip.Copy());
}
#if NET_2_0
throw new ArgumentException(Locale.GetText(
"Union impossible"));
#else
return(null);
#endif
}