private void ContextMenuBranchSpecific(ContextMenuStrip contextMenu) { if (contextMenu != menuBranch) { return; } var node = (contextMenu.SourceControl as TreeView)?.SelectedNode?.Tag as LocalBranchNode; if (node is null) { return; } var isNotActiveBranch = !node.IsActive; _localBranchMenuItems.GetInactiveBranchItems().ForEach(t => t.Item.Visible = isNotActiveBranch); _menuBranchCopyContextMenuItems.ForEach(x => x.Visible = node.Visible); if (node.Visible) { contextMenu.AddUserScripts(runScriptToolStripMenuItem, _scriptRunner.Execute); } else { contextMenu.RemoveUserScripts(runScriptToolStripMenuItem); } }