public async Task FetchNextPageAtTocNode() { //filter duplicate tocNode TOCNode currentToc = TOCDataManager.CurrentLeafNode; while (TOCDataManager.EndTocID != currentToc.ID) { currentToc = PublicationContentUtil.Instance.GetNextPageByTreeNode(currentToc); } currentToc = PublicationContentUtil.Instance.GetNextPageByTreeNode(currentToc); TOCDataManager.CurrentLeafNode = currentToc; TOCDataManager.EndTocID = currentToc.ID; string htmlString = await PublicationContentUtil.Instance.GetContentFromTOC(BookID, currentToc, false); PageViewController.AppendPageContent(htmlString, BookID, currentToc.ID.ToString(), currentToc.Title); if (currentToc != null) { this.InvokeOnMainThread(() => HighlightLeafTocNode(currentToc) ); } }