public void Setup() { Mods mods = GetFiles(); BaseDirLength = BaseDir.Length; //Replace with fetch from config DirectoryInfo dirInf = new DirectoryInfo(BaseDir); WalkDirectoryTree(dirInf); Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); Task <bool> calFileTask = Task <bool> .Factory.StartNew(() => { return(CalcFilesToDownload(mods.Get(), files)); }); if (calFileTask.Result) { stopWatch.Stop(); TimeSpan ts = stopWatch.Elapsed; string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds / 10); Console.WriteLine("Time Taken to Build Download Queue " + elapsedTime); } }