void ResolveFileConflict(object sender, ResolveFileConflictEventArgs e)
 {
     if (conflictResolution.HasValue)
     {
         e.Resolution = conflictResolution.Value;
     }
     else
     {
         Runtime.RunInMainThread(() => {
             e.Resolution = fileConflictResolver.ResolveFileConflict(e.Message);
         }).Wait();
     }
 }
        public FileConflictAction ResolveFileConflict(string message)
        {
            if (context.FileConflictResolution.HasValue)
            {
                return(context.FileConflictResolution.Value);
            }

            // This should be using the PowerShell console host instead of a separate GUI.
            FileConflictAction conflictAction = Runtime.RunInMainThread(() => {
                var conflictResolver = new FileConflictResolver();
                return(conflictResolver.ResolveFileConflict(message));
            }).WaitAndGetResult();

            if (conflictAction == FileConflictAction.IgnoreAll || conflictAction == FileConflictAction.OverwriteAll)
            {
                context.FileConflictResolution = conflictAction;
            }

            return(conflictAction);
        }