public BookPage GetWithRenderingDocument(DocumentFile activeDocument)
{
var page = this;
if (this.Document == activeDocument)
{
page = new BookPage(this.Document, this.Chapter);
page.Active = true;
page.SubPageActive = false;
page.SubPages = this.SubPages;
}
else if (this.SubPages != null)
{
var subPages = this.SubPages.Select(p => p.GetWithRenderingDocument(activeDocument)).ToList();
if (subPages.Any(c => c.Active || c.SubPageActive))
{
page = new BookPage(this.Document, this.Chapter);
page.Active = false;
page.SubPageActive = true;
page.SubPages = subPages;
}
}
return page;
}