private void DeleteButton_Click(object sender, EventArgs e)
        {
            TreeNode node = ReferenceKeysTreeView.SelectedNode;

            if (node != null)
            {
                // if it's a context
                if (node.Parent == null)
                {
                    int index = GetContextIndex(node.Text);
                    if (index > 0)
                    {
                        Inventor.ReferenceKeyManager rkm = m_app.ActiveDocument.ReferenceKeyManager;
                        rkm.ReleaseKeyContext(index);
                    }
                }

                node.Remove();

                EnsureDefaultContext();
            }
        }
        private void CreateContextButton_Click(object sender, EventArgs e)
        {
            string context;
            int    i = CreateContext(out context);

            if (ReferenceKeysTreeView.Nodes.ContainsKey(context))
            {
                TreeNode existingNode = ReferenceKeysTreeView.Nodes.Find(context, false)[0];
                ReferenceKeysTreeView.SelectedNode = existingNode;

                Inventor.ReferenceKeyManager rkm = m_app.ActiveDocument.ReferenceKeyManager;
                rkm.ReleaseKeyContext(i);

                MessageBox.Show("A suitable context already exists and is now highlighted in the Browser", "Duplicate context");

                return;
            }

            TreeNode node = ReferenceKeysTreeView.Nodes.Add(context, $"{context} [{i}]");

            node.ImageKey         = kContext;
            node.SelectedImageKey = kContext;
            node.EnsureVisible();
        }