/// <summary>
        /// Show this panel and create or show the subroutine panel
        /// </summary>
        /// <param name="subroutine"></param>
        public void ShowFlowContainer(SMFlowContainer flowContainer)
        {
            if (_currentContainerPanel != null)
            {
                if (_currentContainerPanel.Name == flowContainer.Nickname)
                {
                    _currentContainerPanel.PreventEdit = !_enableSMOperation;
                    return;
                }
                _currentContainerPanel.Hide();
            }

            //if (!Controls.ContainsKey(flowContainer.Nickname))
            if (!this.smFlowPanel.Controls.ContainsKey(flowContainer.Nickname))
            {
                // Constructor will rebuild
                //SMContainerPanel subPanel = new SMContainerPanel(this, flowContainer, lblHeader.Size.Height);
                SMContainerPanel subPanel = new SMContainerPanel(this, flowContainer, 0);
                //this.Controls.Add(subPanel);
                this.smFlowPanel.Controls.Add(subPanel);
            }
            //_currentContainerPanel = this.Controls[flowContainer.Nickname] as SMContainerPanel;
            _currentContainerPanel = this.smFlowPanel.Controls[flowContainer.Nickname] as SMContainerPanel;
            _currentContainerPanel.Show();
            _currentFlowContainer = flowContainer;
            lblHeader.Text        = _currentFlowContainer.PathText;
            tbSubroutineName.Text = _currentFlowContainer.Text;
            UpdateAutoScope();

            tbSubroutineName.Hide();
            if (_currentFlowContainer is SMStateMachine)
            {
                if (_currentFlowContainer.IsEditing(_currentContainerPanel.Name))
                {
                    btnClose.Text    = "X";
                    btnClose.Enabled = true;
                }
                else
                {
                    btnClose.Text    = string.Empty;
                    btnClose.Enabled = false;
                }
            }
            else
            {
                btnClose.Text    = "X";
                btnClose.Enabled = true;
            }

            _currentContainerPanel.PreventEdit = !_enableSMOperation;
            lblHeader.BringToFront();
            btnClose.BringToFront();
        }