lineIndex,x,y + model.getLineHeight());
x,y + model.getLineHeight());
	protected int paintLine(TextAreaModel model, Graphics gfx, int lineIndex,		int x, int y)	{		currentLineIndex = lineIndex;		TokenMarker tokenMarker = model.getTokenMarker();		Font defaultFont = getFont();		Color defaultColor = getForeground();		/* Clear the line's bounding rectangle */		FontMetrics fm = getFontMetrics();		int gap = fm.getMaxDescent() + fm.getLeading();		gfx.setColor(getBackground());		gfx.fillRect(0,y + gap,offImg.getWidth(this),fm.getHeight());						gfx.setFont(defaultFont);		if(lineIndex < 0 || lineIndex >= model.getLineCount())		{			gfx.setColor(defaultColor);			gfx.drawString("~",0,y + model.getLineHeight());			return 1;		}		// Get the text		model.getLineText(lineIndex,currentLine);		// draw the highlights		if(lineIndex >= model.getSelectionStartLine()			&& lineIndex <= model.getSelectionEndLine())			paintHighlight(model,gfx,lineIndex,y);		if(tokenMarker == null)		{			paintPlainLine(model,gfx,defaultFont,defaultColor,				lineIndex,x,y + model.getLineHeight());			return 1;		}		else		{			int count = 0;			do			{				count++;				y += model.getLineHeight();			}			while(paintSyntaxLine(model,gfx,tokenMarker,defaultFont,				defaultColor,lineIndex++,x,y));			return count;		}	}