private List <SetLocalPermissions.RightsWithAccessControlType <TRights> > GetRights <TRights>(XmlNode permissionNode, Dictionary <string, TRights> rightsDictionary)
        {
            TaskLogger.LogEnter();
            List <SetLocalPermissions.RightsWithAccessControlType <TRights> > list = new List <SetLocalPermissions.RightsWithAccessControlType <TRights> >();

            foreach (object obj in permissionNode.Attributes)
            {
                XmlAttribute permissionAttribute = (XmlAttribute)obj;
                SetLocalPermissions.RightsWithAccessControlType <TRights> rights = this.GetRights <TRights>(permissionAttribute, rightsDictionary);
                if (rights != null)
                {
                    list.Add(rights);
                }
            }
            TaskLogger.LogExit();
            return(list);
        }
 private SetLocalPermissions.RightsWithAccessControlType <TRights> GetRights <TRights>(XmlAttribute permissionAttribute, Dictionary <string, TRights> rightsDictionary)
 {
     TaskLogger.LogEnter();
     SetLocalPermissions.RightsWithAccessControlType <TRights> rightsWithAccessControlType = null;
     if (permissionAttribute.Name != "User" && permissionAttribute.Name != "Extended")
     {
         rightsWithAccessControlType        = new SetLocalPermissions.RightsWithAccessControlType <TRights>();
         rightsWithAccessControlType.Rights = rightsDictionary[permissionAttribute.Name.ToLower()];
         if (string.Compare(permissionAttribute.Value, "yes", true) == 0)
         {
             rightsWithAccessControlType.AccessControlType = AccessControlType.Allow;
         }
         else
         {
             rightsWithAccessControlType.AccessControlType = AccessControlType.Deny;
         }
     }
     TaskLogger.LogExit();
     return(rightsWithAccessControlType);
 }