private void reloadPatternView()
        {
            PatternViewPanel.Children.Clear();

            StatementAdder adder;

            LinkedListNode <Block> node = mLoadedPattern.IfStatements.Last;
            int index = mLoadedPattern.IfStatements.Count;

            while (node != null)
            {
                adder = new StatementAdder(index);
                adder.MouseLeftButtonUp += OnMouseLeftButtonUp_StatementAdder;
                PatternViewPanel.Children.Add(adder);
                PatternViewPanel.Children.Add(node.Value.Clone());

                node = node.Previous;
                --index;
            }

            adder = new StatementAdder(0);
            adder.MouseLeftButtonUp += OnMouseLeftButtonUp_StatementAdder;
            PatternViewPanel.Children.Add(adder);
            PatternViewPanel.Children.Add(mLoadedPattern.Behaviour.Clone());

            PatternName.Text = mLoadedPattern.Name;
        }
        private void OnMouseLeftButtonUp_StatementAdder(object sender, RoutedEventArgs e)
        {
            if (mListBoxWindow.IsVisible)
            {
                MessageBox.Show(";");
                mListBoxWindow.Close();
            }

            StatementAdder adder = (StatementAdder)sender;

            mInsertTargetIndex = adder.DependencyIndex;

            mListBoxWindow.ReloadList(EBlockType.IfStatement);
            mListBoxWindow.Show();
        }