protected void AddCriticalAttribute (ICustomAttributeProvider provider)
{
// a [SecurityCritical] replaces a [SecuritySafeCritical]
if (HasSecurityAttribute (provider, AttributeType.SafeCritical))
RemoveSecurityAttributes (provider);
AddSecurityAttribute (provider, AttributeType.Critical);
}