public virtual bool ParsePersistentObject(PersistentObject t) { t.Clear(); t.NewLineAfter.Value = string.Empty; if (CurrentToken.Class == TokenClass.ServerTagStart && CurrentToken.ServerTagClass == ServerTagClass.PersistentObject) { t.StartToken.Read(); if (CurrentToken.Class == TokenClass.Literal && CurrentToken.ServerTagClass == ServerTagClass.PersistentObject) { t.NameToken.Read(); if (CurrentToken.Class == TokenClass.ServerTagEnd && CurrentToken.ServerTagClass == ServerTagClass.PersistentObjectName) { t.NameEndToken.Read(); if (CurrentToken.Class == TokenClass.Literal && CurrentToken.ServerTagClass == ServerTagClass.PersistentObject) { t.TextToken.Read(); if (CurrentToken.Class == TokenClass.ServerTagEnd) { t.EndToken.Read(); t.NewLineAfter.ReadNewLineAfter(); return true; } else { Error("PersistentObject: End of server comment expected."); return false; } } else { Error("PersistenObejct: Name end tag expected."); return false; } } else { Error("PersistentObject: Literal expected."); return false; } } else { Error("PersistentObject: Literal expected."); return false; } } else { Error("PersistenObject: Start tag expected."); return false; } }