static void Main(string[] args)
		{
			string sourcePath = args[0]; // The source path (server or local)
			string targetPath = args[1]; // The target path (server or local)
			string collectionUrl = args[2]; // The url to the TFS collection
			string outputDirectory = args[3]; // The directory where to download the files

			//var getter = new CmdParsingFolderDiffGetter(collectionUrl, sourcePath, targetPath, outputDirectory);
			string dllPath = FolderDiffInternalsGetter.DeriveTfsVcControlsDllPathFromRegistry();
			var getter = new FolderDiffInternalsGetter(collectionUrl, sourcePath, targetPath, outputDirectory, dllPath);
			// You may need to change these if you have things installed in other places
			//getter.VcVarsBatPath
			//getter.CommandPromptPath

			Trace.Listeners.Add(new ConsoleTraceListener());
			getter.Go();
		}
	protected void DownloadFromFolderDiffManager(string outputDir) {

		var hatpack = new HatPackage();
		dynamic man = new AccessPrivateWrapper(hatpack._wrapped.FolderDiffManager);
		if (man != null) {
			dynamic toolWindow = new AccessPrivateWrapper(man.FolderDiffToolWindows[0]);
			if (toolWindow != null) {
				dynamic diffControl = new AccessPrivateWrapper(toolWindow.FolderDiffControl);
				if (diffControl != null) {
					var diff = diffControl.FolderDiff;
					if (diff != null) {
						var coll = hatpack.HatterasService.TeamProjectCollection as TfsTeamProjectCollection;

						var getter = new FolderDiffInternalsGetter(diff, coll, outputDir);
						getter.TraceWriter = WriteProgressMessage;
						getter.Go();

					}
				}
			}
		}
	}