/// <inheritdoc />
        protected override object RunIsolatedTaskInHost <TIsolatedTask>(HostSetup hostSetup, StatusReporter statusReporter, object[] args)
        {
            if (!PartCoverTool.IsInstalled())
            {
                throw new TestIsolationException(string.Format("{0} does not appear to be installed.", PartCoverTool.Name));
            }

            string partCoverCoverageReportDir = PartCoverHost.GetPartCoverCoverageReportDir(hostSetup);

            if (batch != null)
            {
                hostSetup = hostSetup.Copy();

                string tempCoverageFile = batch.Enlist(partCoverCoverageReportDir);
                PartCoverHost.SetPartCoverCoverageFile(hostSetup, tempCoverageFile);
            }
            return(base.RunIsolatedTaskInHost <TIsolatedTask>(hostSetup, statusReporter, args));
        }