private void FilterWithFilter(List <Ace> removed, Acl acl, bool dacl, Func <Ace, bool> filter)
        {
            if (!HasAcl(acl))
            {
                return;
            }

            acl.RemoveAll(a => ProcessAce(removed, a, dacl, filter));
        }
 private void RemoveAces(Acl acl, Predicate <Ace> predicate)
 {
     if (First)
     {
         foreach (var ace in acl)
         {
             if (predicate(ace))
             {
                 return;
             }
         }
     }
     else
     {
         acl.RemoveAll(predicate);
     }
 }