private void LoadAlignmentToRCAD(string targetDirectory)
        {
            LoadingToRCAD     = true;
            RCADLoadingStatus = LOADING_ALIGNMENT_MESSAGE;
            CommandManager.InvalidateRequerySuggested();
            RCADLoadingArgs args = new RCADLoadingArgs()
            {
                Mapper = _alignmentToRCADMapping, TargetDirectory = targetDirectory
            };

            _worker                     = new BackgroundWorker();
            _worker.DoWork             += new DoWorkEventHandler(LoadAlignmentToRCADWorker);
            _worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(LoadAlignmentToRCADWorkerCompleted);
            _worker.RunWorkerAsync(args);
        }
        private void LoadAlignmentToRCADWorker(object sender, DoWorkEventArgs e)
        {
            if (e.Argument == null)
            {
                return;
            }
            RCADLoadingArgs args = e.Argument as RCADLoadingArgs;

            if (args.Mapper != null)
            {
                Loader l = new Loader(args.Mapper);
                if (!string.IsNullOrEmpty(args.TargetDirectory))
                {
                    e.Result = l.CreateBatchLoad(args.TargetDirectory);
                }
                else
                {
                    e.Result = l.Load();
                }
            }
        }