public SortAlgorithm(string sourceFilePath)
 {
     _sourceFilePath      = sourceFilePath;
     _outputTargetFileSet = new TargetFileSet(2)
     {
         new TargetFile("tb1"), new TargetFile("tb2")
     };
     _inputTargetFileSet = new TargetFileSet(2)
     {
         new TargetFile("ta1"), new TargetFile("ta2")
     };
 }
 private void SwitchTargetRoles()
 {
     _outputTargetFileSet = Interlocked.Exchange(ref _inputTargetFileSet, _outputTargetFileSet);
 }