private void treeInfo_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
 {
     try
     {
         var menuItem = e.Node?.Tag as GroupedServerInfo;
         if (menuItem != null)
         {
             ShowDataPane(menuItem.SystemInfo);
             return;
         }
         var simpleNode = e.Node?.Tag as List <SuperSimpleColumnTypes.TwoColumnType>;
         if (simpleNode != null)
         {
             ShowDataPane(simpleNode);
             return;
         }
         var cmdLineNode = e.Node?.Tag as List <CmdLineResult>;
         if (cmdLineNode != null)
         {
             ShowStaticInfo(cmdLineNode);
         }
     }
     catch (Exception ex)
     {
         Mbox.Error(ex, $"Failed to load '{e.Node?.Text ?? "Unknown"}'");
     }
 }
        private static void ClickExceptionButton(ControlExceptions controlExceptions)
        {
            try
            {
                Exception exception;
                Button    removeButton;

                lock (_syncObj)
                {
                    exception = controlExceptions.Exceptions.Count > 0
                        ? controlExceptions.Exceptions.Dequeue()
                        : null;

                    if (controlExceptions.Exceptions.Count == 0)
                    {
                        _controlExceptions.Remove(controlExceptions.Control);
                        removeButton             = controlExceptions.Button;
                        controlExceptions.Button = null;
                    }
                    else
                    {
                        removeButton = null;
                    }
                }

                if (removeButton != null)
                {
                    try
                    {
                        controlExceptions.Control.OnUiThread(removeButton.Dispose);
                    }
                    catch
                    {
                    }
                }
                else
                {
                    controlExceptions.Control.OnUiThread(() => UpdateButton(controlExceptions));
                }

                if (exception != null)
                {
                    Mbox.Error(exception, "Sorry! We could not load the data you wanted.");
                }
            }
            catch
            {
            }
        }