/// <summary> Appends a NEWLINE to the output if the tag breaks flow, and
        /// possibly sets the state of the PRE and SCRIPT flags.
        /// </summary>
        /// <param name="tag">The tag to examine.
        /// </param>
        public override void VisitTag(ITag tag)
        {
            System.String name;

            if (tag is ATag)
            {
                if (Links)
                {
                    // appends the link as text between angle brackets to the output.
                    mBuffer.Append("<");
                    mBuffer.Append(((ATag)tag).Link);
                    mBuffer.Append(">");
                }
            }
            name = tag.TagName;
            if (name.ToUpper().Equals("PRE".ToUpper()))
            {
                mIsPre = true;
            }
            else if (name.ToUpper().Equals("SCRIPT".ToUpper()))
            {
                mIsScript = true;
            }
            else if (name.ToUpper().Equals("STYLE".ToUpper()))
            {
                mIsStyle = true;
            }
            if (tag.BreaksFlow())
            {
                CarriageReturn();
            }
        }
		/// <summary> Appends a NEWLINE to the output if the tag breaks flow, and
		/// possibly sets the state of the PRE and SCRIPT flags.
		/// </summary>
		/// <param name="tag">The tag to examine.
		/// </param>
		public override void VisitTag(ITag tag)
		{
			System.String name;
			
			if (tag is ATag)
				if (Links)
				{
					// appends the link as text between angle brackets to the output.
					mBuffer.Append("<");
					mBuffer.Append(((ATag) tag).Link);
					mBuffer.Append(">");
				}
			name = tag.TagName;
			if (name.ToUpper().Equals("PRE".ToUpper()))
				mIsPre = true;
			else if (name.ToUpper().Equals("SCRIPT".ToUpper()))
				mIsScript = true;
			else if (name.ToUpper().Equals("STYLE".ToUpper()))
				mIsStyle = true;
			if (tag.BreaksFlow())
				CarriageReturn();
		}