private void CrimsonToE2e(string sourceFileName, string convertedFilename) { int num = 0; using (InternalCrimsonToE2eConvertingParameter internalCrimsonToE2eConvertingParameter = new InternalCrimsonToE2eConvertingParameter()) { internalCrimsonToE2eConvertingParameter.SourceFileName = sourceFileName; internalCrimsonToE2eConvertingParameter.ConvertedFilename = convertedFilename; progressReport.Begin(100); if (!ThreadPool.QueueUserWorkItem(CrimsonToE2eThreadProc, internalCrimsonToE2eConvertingParameter)) { } while (!internalCrimsonToE2eConvertingParameter.IsFinished) { internalCrimsonToE2eConvertingParameter.TraceConvertedEvent.WaitOne(); if (internalCrimsonToE2eConvertingParameter.Percentage != num && internalCrimsonToE2eConvertingParameter.Percentage > num) { for (int i = 0; i < internalCrimsonToE2eConvertingParameter.Percentage - num; i++) { progressReport.Step(); } num = internalCrimsonToE2eConvertingParameter.Percentage; } } progressReport.Complete(); if (internalCrimsonToE2eConvertingParameter.Exception != null) { throw internalCrimsonToE2eConvertingParameter.Exception; } } }