public async void scheduleTasks()
        {
            // Ensure the word document counter semaphore is created
            MainWindow.getWordCounterSemaphore();

            List <HTMLDocument> delayStartTasks = new List <HTMLDocument>();

            foreach (HTMLDocument doc in DocumentsReadyToParse)
            {
                if (doc.isCached())
                {
                    doc.ParseTask.Start();
                }
                else
                {
                    delayStartTasks.Add(doc);
                }
            }

            DocumentsReadyToParse.Clear();

            foreach (HTMLDocument doc in delayStartTasks)
            {
                bool docCached = doc.isCached();

                doc.ParseTask.Start();

                if (!docCached)
                {
                    // 2 sec wait before the next task is scheduled - avoid hitting the host too frequently
                    await Task.Delay(2000);
                }
            }
        }
 internal void scheduleParse(HTMLDocument thisPage)
 {
     DocumentsReadyToParse.Add(thisPage);
 }