gutter.repaint();
gutter.invalidateLineRange(line,firstLine + visibleLines);
	protected void documentChanged(DocumentEvent evt)	{		DocumentEvent.ElementChange ch = evt.getChange(			document.getDefaultRootElement());		int count;		if(ch == null)			count = 0;		else			count = ch.getChildrenAdded().length -				ch.getChildrenRemoved().length;		int line = getLineOfOffset(evt.getOffset());		if(count == 0)		{			painter.invalidateLine(line);		}		// do magic stuff		else if(line < firstLine)		{			setFirstLine(firstLine + count);		}		// end of magic stuff		else		{			painter.invalidateLineRange(line,firstLine + visibleLines);			gutter.repaint();			updateScrollBars();		}	}