/// <summary>
        /// Makes an optional list of non terminals.
        /// </summary>
        /// <param name="term">The term.</param>
        /// <returns>An optional list of non terminals.</returns>
        public static NonTerminal ListOpt(this BnfTerm term)
        {
            var nonTerminal = term.Star();

            nonTerminal.SetFlag(TermFlags.NoAstNode);
            return(nonTerminal);
        }