/// <summary>
        /// More http://www.w3.org/TR/REC-xml/#sec-comments.
        /// </summary>
        /// <param name="c">The next input character.</param>
        XmlToken Comment(Char c)
        {
            while (c.IsXmlChar())
            {
                if (c == Symbols.Minus)
                    return CommentDash(GetNext());

                _stringBuffer.Append(c);
                c = GetNext();
            }

            throw XmlParseError.XmlInvalidComment.At(GetCurrentPosition());
        }
        /// <summary>
        /// More http://www.w3.org/TR/REC-xml/#sec-comments.
        /// </summary>
        /// <param name="c">The next input character.</param>
        DtdToken Comment(Char c)
        {
            while (c.IsXmlChar())
            {
                if (c == Specification.MINUS)
                    return CommentDash(_stream.Next);

                _stringBuffer.Append(c);
                c = _stream.Next;
            }

            throw Errors.Xml(ErrorCode.XmlInvalidComment);
        }