private void UnpackInputFileWorker(object sender, DoWorkEventArgs e) { if (!Directory.Exists(saveToFolderDialog.SelectedPath)) { Directory.CreateDirectory(saveToFolderDialog.SelectedPath); } var map = new Dictionary <string, string>(); var dictionary = new Dictionary <string, string>(); foreach (TreeNode treeNode in treeView.Items) { if (treeNode.Checked) { dictionary.Add(((KeyValuePair <string, string>)treeNode.Tag).Key, ((KeyValuePair <string, string>)treeNode.Tag).Value); } } foreach (var keyValuePair in dictionary) { map[keyValuePair.Key] = keyValuePair.Value.Replace(m_tmpUnpackedOutputPathForUi, saveToFolderDialog.SelectedPath); } m_ku.RemapFiles(map); }