private void addCurrent_drawHighlight_rememberCaret()
        {
            strs.add(current);
            
            if (selectingPivot != -1)
            {
                int minC = Math.min(selectingPivot, caret);
                int maxC = Math.max(selectingPivot, caret);
                if (maxC > count && minC < count + current.length())
                {
                    minC -= count;
                    if (minC < 0)
                        minC = 0;
                    maxC -= count;
                    if (maxC > current.length())
                        maxC = current.length();
                    int hBegin = fm.charsWidth(current.substring(0, minC).toCharArray(), 0, minC) + 4;
                    int hLength = fm.charsWidth(current.substring(minC, maxC).toCharArray(), 0, maxC- minC);
                    pic.setColor(Color.YELLOW);
                    pic.fillRect(hBegin, font.getSize() * (strs.size() - 1) + font.getSize() / 5 - scrollValue, hLength, font.getSize());
                }
            }
            
            // Remember location for caret bar if is within this line of text.
            if (hasFocus() && caret >= count && caret < count + current.length())
            {
                caretX = fm.charsWidth(current.substring(0, caret - count).toCharArray(), 0, caret - count) + 4;
                caretLine = strs.size();
            }
        }