/// <include file='doc\OleDbPermission.uex' path='docs/doc[@for="OleDbPermission.Union"]/*' />
        override public IPermission Union(IPermission target)
        {
            OleDbPermission newPermission = (OleDbPermission)base.Union(target);

            if ((null != newPermission) && !newPermission.IsUnrestricted())
            {
                newPermission = UnionOleDb((target as OleDbPermission), newPermission);
            }
            return(newPermission);
        }
		private void Check (string msg, OleDbPermission perm, bool blank, bool unrestricted, int count)
		{
			Assert.AreEqual (blank, perm.AllowBlankPassword, msg + ".AllowBlankPassword");
			Assert.AreEqual (unrestricted, perm.IsUnrestricted (), msg + ".IsUnrestricted");
			if (count == 0)
				Assert.IsNull (perm.ToXml ().Children, msg + ".Count != 0");
			else
				Assert.AreEqual (count, perm.ToXml ().Children.Count, msg + ".Count");
			Assert.AreEqual (String.Empty, perm.Provider, "Provider");
		}
        /// <include file='doc\OleDbPermission.uex' path='docs/doc[@for="OleDbPermission.Intersect"]/*' />
        override public IPermission Intersect(IPermission target)   // used during Deny actions
        {
            OleDbPermission newPermission = (OleDbPermission)base.Intersect(target);

            if ((null != newPermission) && !newPermission.IsUnrestricted())
            {
                newPermission = IntersectOleDb((target as OleDbPermission), newPermission);
            }
            return(newPermission);
        }