static void CompleteSecurityAttributeFields(SSP.SecurityAttribute security_attribute, SecurityAttribute attribute)
        {
            var type = security_attribute.GetType ();

            foreach (var named_argument in attribute.Fields)
                type.GetField (named_argument.Name).SetValue (security_attribute, named_argument.Argument.Value);
        }
        static void CompleteSecurityAttributeProperties(SSP.SecurityAttribute security_attribute, SecurityAttribute attribute)
        {
            var type = security_attribute.GetType ();

            foreach (var named_argument in attribute.Properties)
                type.GetProperty (named_argument.Name).SetValue (security_attribute, named_argument.Argument.Value, null);
        }
        static void CompleteSecurityAttribute(SSP.SecurityAttribute security_attribute, SecurityAttribute attribute)
        {
            if (attribute.HasFields)
                CompleteSecurityAttributeFields (security_attribute, attribute);

            if (attribute.HasProperties)
                CompleteSecurityAttributeProperties (security_attribute, attribute);
        }