gfx.setColor(defaultColor);
styles[Token.INVALID].setGraphicsFlags(gfx,defaultFont);
	protected int paintLine(Graphics gfx, int line, int x)	{		TokenMarker tokenMarker = textArea.getTokenMarker();		Font defaultFont = getFont();		Color defaultColor = getForeground();						gfx.setFont(defaultFont);		int y = textArea.lineToY(line);		if(line < 0 || line >= textArea.getLineCount())		{			paintHighlight(gfx,line,y);			gfx.setColor(defaultColor);			gfx.drawString("~",0,y + getFontMetrics().getHeight());			return 1;		}		// Get the text		textArea.getLineText(line,currentLine);		currentLineIndex = line;		if(tokenMarker == null)		{			paintPlainLine(gfx,line,defaultFont,defaultColor,x,y);			return 1;		}		else		{			int count = 0;			int lastVisibleLine = textArea.getFirstLine()				+ textArea.getVisibleLines();			int lastLine = textArea.getLineCount();			do			{				if(count != 0)				{					currentLineIndex = line + count;					textArea.getLineText(currentLineIndex,						currentLine);				}				currentLineTokens = tokenMarker.markTokens(						currentLine,currentLineIndex);				paintSyntaxLine(gfx,line + count,defaultFont,					defaultColor,x,y);				y += getFontMetrics().getHeight();				count++;			}			while(tokenMarker.isNextLineRequested()				&& line + count < lastVisibleLine);			return count;		}	}