public BlankBookContent()
        {
            Book = new Book("blank");
            LayoutStrategy = new BlankLayoutStrategy();

            PageCount = 100;

            if (Book.CurrentPosition == null)
            {
                Book.CurrentPosition = PositionInBook.FromPhysicalPage(1, PageCount);
            }
        }
        public BookContent(Book book, DW<PageImageCache> imageCache = null)
        {
            ArgCheck.NotNull(book, "book");
            _book = book;

            // null is ok
            ImageCache = imageCache;

            // Load layouts 
            Layouts = new Dictionary<int, PageLayout>();
            if (Settings.Default.Cache_SaveLayouts)
            {
                Layouts = XmlHelper.DeserializeOrDefault(LayoutsFile, Layouts);
            }

            _layoutStrategy = RenderFactory.Default.GetLayoutStrategy();

            // Slightly hacky but best way to do it
            // -- set the book position info if it's null
            if (Book.CurrentPosition == null)
            {
                Book.CurrentPosition = PositionInBook.FromPhysicalPage(1, BookProvider.o.PageCount);
            }
        }