public override bool Process(Token t, HtmlTreeBuilder tb) { switch (t.Type) { case TokenType.Character: Token.Character c = t.AsCharacter(); if (c.Data.Equals(NullString)) { tb.Error(this); return(false); } else { tb.GetPendingTableCharacters().Add(c); } break; default: if (tb.GetPendingTableCharacters().Count > 0) { foreach (Token.Character char2 in tb.GetPendingTableCharacters()) { if (!IsWhitespace(char2)) { // InTable anything else section: tb.Error(this); if (StringUtil.In(tb.CurrentElement.NodeName, "table", "tbody", "tfoot", "thead", "tr")) { tb.SetFosterInserts(true); tb.Process(char2, InBody); tb.SetFosterInserts(false); } else { tb.Process(char2, InBody); } } else { tb.Insert(char2); } } tb.NewPendingTableCharacters(); } tb.Transition(tb.OriginalState); return(tb.Process(t)); } return(true); }