public void AddChild(BaseNodePanel panel, int index = 0)
        {
            ControlHelper.SuspendDrawing(this);

            ChildPanel.Controls.Add(panel);
            ChildPanel.Controls.SetChildIndex(panel, index);
            IncreaseHeight(panel is MultiNodePanel ? PanelHeight + 6 : PanelHeight);

            ControlHelper.ResumeDrawing(this);
        }
        public void RemoveChild(BaseNodePanel panel)
        {
            IncreaseHeight(-panel.Height);
            ChildPanel.Controls.Remove(panel);

            // TODO: Update the Expression Node tree
            if (ChildPanel.Controls.Count == 1)
            {
                (ChildPanel.Controls[0] as BaseNodePanel).MoveUp();
            }

            if (ChildPanel.Controls.Count == 0)
            {
                Delete();
                return;
            }

            UpdateLabels();
        }