HtmlToken ReadBogusComment ()
{
int nc;
char c;
if (data.Length > 0 && data[0] == '<') {
// strip the leading '<' but leave the rest
var buf = data.ToString ();
for (int i = 1; i < data.Length; i++)
data[i - 1] = data[i];
data.Length--;
}
do {
if ((nc = Read ()) == -1) {
TokenizerState = HtmlTokenizerState.EndOfFile;
break;
}
if ((c = (char) nc) == '>')
break;
data.Append (c == '\0' ? '\uFFFD' : c);
} while (true);
TokenizerState = HtmlTokenizerState.Data;
return EmitCommentToken (data, true);
}