/// <summary>
        /// Insert statement with a combobox into current document within richtextbox at current caret position.
        /// </summary>
        /// <param name="precedeStatement"></param>
        public void InsertStatementWithComboBox(Statement precedeStatement)
        {
            //get position where element should be added
            TextPointer insertionPosition = CaretPosition.GetInsertionPosition(LogicalDirection.Forward);

            ComboBoxStatement statementBox = new ComboBoxStatement(precedeStatement);

            //attach event
            statementBox.ComboBoxDropDownOpened += OnComboBoxStatementDropDownOpened;
            statementBox.ComboBoxDropDownClosed += OnComboBoxStatementDropDownClosed;

            InlineUIContainer myInlineUIContainer = new InlineUIContainer(statementBox, insertionPosition);

            //move caret position
            TextPointer newCaretPosition = insertionPosition.GetNextInsertionPosition(LogicalDirection.Forward);

            if (newCaretPosition != null)
            {
                CaretPosition = newCaretPosition;
            }
        }