[System.Security.SecurityCritical]  // auto-generated
        private bool CheckFlags(int flags)
        {
            Contract.Assert(flags != 0, "Invalid permission flag demand");

            bool check = true;

            if (m_permSetTriples != null)
            {
                for (int i = 0; i < m_permSetTriples.Count && check && flags != 0; i++)
                {
                    check &= ((PermissionSetTriple)m_permSetTriples[i]).CheckFlags(ref flags);
                }
            }
            else if (m_firstPermSetTriple != null)
            {
                check = m_firstPermSetTriple.CheckFlags(ref flags);
            }

            return(check);
        }