private void MainForm_Load(object sender, EventArgs e) {
			var menuItems = new List<ToolStripMenuItem>();
			foreach (var codeToXml in PluginManager.CodeToXmls) {
				var menuItem =
						menuItemLanguage.DropDownItems.Add(codeToXml.ParserName) as ToolStripMenuItem;
				menuItems.Add(menuItem);
				var codeToXmlForClosure = codeToXml;
				menuItem.Click += (o, args) => {
					_activeCodeToXml = codeToXmlForClosure;
					foreach (var item in menuItems) {
						item.Checked = false;
					}
					menuItem.Checked = true;

					Code = "";
					_activeFile = null;
					lvModifiableFile.Items.Clear();
					lvFreezedFile.Items.Clear();
					lvModifiableRule.Items.Clear();
					lvFreezedRule.Items.Clear();
					lvWillBeMarkedElements.Items.Clear();
					lvMarkedElements.Items.Clear();
				};
				if (codeToXml is JavaCodeToXml) {
					menuItem.PerformClick();
				}
			}
		}
		private void ChangeActiveFile(CodeFile activeFile) {
			_activeFile = activeFile;
			Code = _activeFile.Code;
			RedrawActiveFile();
			var rule = InferRule();
			var range2Elements = rule.ExtractRange2Elements(_activeFile.Ast);
			DrawMarkers(range2Elements, 2);
			ListElements(range2Elements, lvWillBeMarkedElements);
			btnApply.Enabled = CanApplyThis(range2Elements);
			azuki.ContextMenuStrip = _activeFile.ReadOnly ? null : contextMenuStrip;
		}
			public FileListViewItem(CodeFile file)
					: base(file.Info.Name, file.Info.FullName) {
				File = file;
			}
		private void azuki_DragDrop(object sender, DragEventArgs e) {
			var paths = (string[])e.Data.GetData(DataFormats.FileDrop, false);
			var count = lvModifiableFile.Items.Count;
			var filePaths = paths.SelectMany(path =>
					Directory.Exists(path)
							? Directory.EnumerateFiles(path, "*", SearchOption.AllDirectories)
									.Where(filePath => _activeCodeToXml.TargetExtensions.Contains(Path.GetExtension(filePath)))
							: Enumerable.Repeat(path, 1));
			foreach (var filePath in filePaths) {
				var file = new FileInfo(filePath);
				var codeFile = new CodeFile(_activeCodeToXml, file);
				var item = new FileListViewItem(codeFile);
				lvModifiableFile.Items.Add(item);
			}
			lvModifiableFile.Items[count].Selected = true;
		}