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);
            }
        }