internal void Persist(Task task, AccessControlSections includeSections = AccessControlSections.Access | AccessControlSections.Group | AccessControlSections.Owner)
 {
     base.WriteLock();
     try
     {
         AccessControlSections accessControlSectionsFromChanges = this.GetAccessControlSectionsFromChanges();
         if (accessControlSectionsFromChanges != AccessControlSections.None)
         {
             task.SetSecurityDescriptorSddlForm(this.GetSecurityDescriptorSddlForm(includeSections), TaskSecurity.Convert(includeSections));
             base.OwnerModified = base.GroupModified = base.AccessRulesModified = base.AuditRulesModified = false;
         }
     }
     finally
     {
         base.WriteUnlock();
     }
 }
 internal void Persist([NotNull] Task task, AccessControlSections includeSections = Task.defaultAccessControlSections)
 {
     WriteLock();
     try
     {
         AccessControlSections accessControlSectionsFromChanges = GetAccessControlSectionsFromChanges();
         if (accessControlSectionsFromChanges != AccessControlSections.None)
         {
             task.SetSecurityDescriptorSddlForm(GetSecurityDescriptorSddlForm(accessControlSectionsFromChanges));
             OwnerModified = GroupModified = AccessRulesModified = AuditRulesModified = false;
         }
     }
     finally
     {
         WriteUnlock();
     }
 }
 internal void Persist(Task task, AccessControlSections includeSections = AccessControlSections.Access | AccessControlSections.Group | AccessControlSections.Owner)
 {
     base.WriteLock();
     try
     {
         AccessControlSections accessControlSectionsFromChanges = this.GetAccessControlSectionsFromChanges();
         if (accessControlSectionsFromChanges != AccessControlSections.None)
         {
             task.SetSecurityDescriptorSddlForm(this.GetSecurityDescriptorSddlForm(includeSections), TaskSecurity.Convert(includeSections));
             base.OwnerModified = base.GroupModified = base.AccessRulesModified = base.AuditRulesModified = false;
         }
     }
     finally
     {
         base.WriteUnlock();
     }
 }