public void AttachAccessType(AccessControlEntry ace, AccessTypeDefinition accessType, bool?allowAccess) { using (_transaction.EnterNonDiscardingScope()) { ace.AddAccessType(accessType); if (!allowAccess.HasValue) { ace.RemoveAccess(accessType); } else if (allowAccess.Value) { ace.AllowAccess(accessType); } else { ace.DenyAccess(accessType); } } }