public override double Compare(Node node) { var pageRange = node as PageRangeNode; if (pageRange == null) { throw new Exception("Not page range node"); } return(StartPage.Compare(pageRange.StartPage) + Math.Abs(EndPage.Compare(pageRange.EndPage))); }