private List <Page> CreatePages(Settings settings)
        {
            List <List <string> > boosters;

            if (settings.Lands)
            {
                boosters = GetLandBoosters(settings);
            }
            else
            {
                boosters = GetBoosters(settings);
            }

            PagePointer p          = new PagePointer();
            List <Page> imagePages = new List <Page>();
            List <Page> textPages  = new List <Page>();
            Page        imagePage  = new Page();
            Page        textPage   = new Page();

            for (int i = 0; i < boosters.Count; i++)
            {
                var booster = boosters[i];
                foreach (var card in booster)
                {
                    if (p.Inc())
                    {
                        imagePage = new Page {
                            IsGrid = false
                        };
                        imagePages.Add(imagePage);
                        textPage = new Page {
                            IsGrid = true
                        };
                        textPages.Add(textPage);
                    }

                    imagePage.Images[p.I, p.J]   = card;
                    textPage.Texts[p.I, 2 - p.J] = settings.Lands ? "L" : GetText(i + 1);
                }
                if (!settings.MergePages)
                {
                    p.SetEnd();
                }
            }

            List <Page> pages = new List <Page>();

            if (settings.NormalOrder)
            {
                for (int i = 0; i < imagePages.Count; i++)
                {
                    pages.Add(imagePages[i]);
                    pages.Add(textPages[i]);
                }
            }
            else
            {
                pages.AddRange(imagePages);
                pages.AddRange(textPages);
            }

            return(pages);
        }
        private List<Page> CreatePages(Settings settings)
        {
            List<List<string>> boosters;
            if (settings.Lands)
            {
                boosters = GetLandBoosters(settings);
            }
            else
            {
                boosters = GetBoosters(settings);
            }

            PagePointer p = new PagePointer();
            List<Page> imagePages = new List<Page>();
            List<Page> textPages = new List<Page>();
            Page imagePage = new Page();
            Page textPage = new Page();
            for (int i = 0; i < boosters.Count; i++)
            {
                var booster = boosters[i];
                foreach (var card in booster)
                {
                    if (p.Inc())
                    {
                        imagePage = new Page { IsGrid = false };
                        imagePages.Add(imagePage);
                        textPage = new Page { IsGrid = true };
                        textPages.Add(textPage);
                    }

                    imagePage.Images[p.I, p.J] = card;
                    textPage.Texts[p.I, 2 - p.J] = settings.Lands ? "L" : GetText(i + 1);
                }
                if (!settings.MergePages)
                {
                    p.SetEnd();
                }
            }

            List<Page> pages = new List<Page>();
            if (settings.NormalOrder)
            {
                for (int i = 0; i < imagePages.Count; i++)
                {
                    pages.Add(imagePages[i]);
                    pages.Add(textPages[i]);
                }
            }
            else
            {
                pages.AddRange(imagePages);
                pages.AddRange(textPages);
            }

            return pages;
        }