internal CommonAcl(bool isContainer, bool isDS, System.Security.AccessControl.RawAcl rawAcl, bool trusted, bool isDacl)
 {
     if (rawAcl == null)
     {
         throw new ArgumentNullException("rawAcl");
     }
     this._isContainer = isContainer;
     this._isDS        = isDS;
     if (trusted)
     {
         this._acl = rawAcl;
         this.RemoveMeaninglessAcesAndFlags(isDacl);
     }
     else
     {
         this._acl = new System.Security.AccessControl.RawAcl(rawAcl.Revision, rawAcl.Count);
         for (int i = 0; i < rawAcl.Count; i++)
         {
             GenericAce ace = rawAcl[i].Copy();
             if (this.InspectAce(ref ace, isDacl))
             {
                 this._acl.InsertAce(this._acl.Count, ace);
             }
         }
     }
     if (this.CanonicalCheck(isDacl))
     {
         this.Canonicalize(true, isDacl);
         this._isCanonical = true;
     }
     else
     {
         this._isCanonical = false;
     }
 }
 internal CommonAcl(bool isContainer, bool isDS, System.Security.AccessControl.RawAcl rawAcl, bool trusted, bool isDacl)
 {
     if (rawAcl == null)
     {
         throw new ArgumentNullException("rawAcl");
     }
     this._isContainer = isContainer;
     this._isDS = isDS;
     if (trusted)
     {
         this._acl = rawAcl;
         this.RemoveMeaninglessAcesAndFlags(isDacl);
     }
     else
     {
         this._acl = new System.Security.AccessControl.RawAcl(rawAcl.Revision, rawAcl.Count);
         for (int i = 0; i < rawAcl.Count; i++)
         {
             GenericAce ace = rawAcl[i].Copy();
             if (this.InspectAce(ref ace, isDacl))
             {
                 this._acl.InsertAce(this._acl.Count, ace);
             }
         }
     }
     if (this.CanonicalCheck(isDacl))
     {
         this.Canonicalize(true, isDacl);
         this._isCanonical = true;
     }
     else
     {
         this._isCanonical = false;
     }
 }
 internal CommonAcl(bool isContainer, bool isDS, byte revision, int capacity)
 {
     this._isContainer = isContainer;
     this._isDS        = isDS;
     this._acl         = new System.Security.AccessControl.RawAcl(revision, capacity);
     this._isCanonical = true;
 }
 internal CommonAcl(bool isContainer, bool isDS, byte revision, int capacity)
 {
     this._isContainer = isContainer;
     this._isDS = isDS;
     this._acl = new System.Security.AccessControl.RawAcl(revision, capacity);
     this._isCanonical = true;
 }