public override void Run()
        {
            ConsoleWriter writer = new ConsoleWriter();
            ResultPrinter resultPrinter = new ResultPrinter(new StreamWriter(results), writer);
            SnapshotLoader loader = new SnapshotLoader(snapshotPath);
            IList<HistorySnapshot> shapshots = loader.LoadSnapshots();

            for (int snapshotLength = 100; snapshotLength >= 80; snapshotLength = snapshotLength - 10)
            {
                ExperimentWatcher experiment = new ExperimentWatcher(writer, snapshotLength, name, shapshots);
                experiment.Start();
                resultPrinter.Prefix = snapshotLength + ", ";
                resultPrinter.PrintResult(experiment.Results);
            }
            resultPrinter.Close();
        }
        public override void Run()
        {
            ConsoleWriter writer = new ConsoleWriter();
            ResultPrinter resultPrinter = new ResultPrinter(new StreamWriter(results), writer);
            SnapshotLoader loader = new SnapshotLoader(source);
            IList<HistorySnapshot> snapshots = loader.LoadSnapshots();
            ISet<string> names = ProcessNamesExtractor.GetProcessNames(snapshots);

            foreach (string name in names)
            {
                //Console.WriteLine(name);
                ExperimentWatcher experiment = new ExperimentWatcher(writer, 20, name, snapshots);
                experiment.Start();
                resultPrinter.Prefix = name + ": ";
                resultPrinter.PrintResult(experiment.Results);
            }
            resultPrinter.Close();
        }