private void InsertNewLine()
        {
            ClearLastInputCommand();

            var initalText  = String.Empty;
            var currentLine = CurrentLine;

            if (currentLineOffset < currentLine.ContentLength)
            {
                var removeLength = currentLine.ContentLength - currentLineOffset;
                initalText = currentLine.content.ToString(currentLineOffset, removeLength);
                currentLine.content.Remove(currentLineOffset, removeLength);
                currentLine.ClearTokenCache();
            }

            var line = new InputLine(manager.GetPrompt());

            lines.Insert(++currentLineIndex, line);
            currentLineOffset = 0;

            if (initalText.Length > 0)
            {
                var idx = currentLineOffset;
                line.InsertLine(ref idx, initalText, 0, initalText.Length);
            }
        }         // proc InsertNewLine