currentLine.offset = segmentOffset; currentLine.count = segmentCount;
	protected void paintSyntaxLine(Graphics gfx, int line, Font defaultFont,		Color defaultColor, int x, int y)	{		paintHighlight(gfx,line,y);		y += getFontMetrics().getHeight();		// We do this because xToOffset() uses currentLine to avoid		// unnecessary getText()s, and we must keep the offset and		// count values from being mangled		int segmentOffset = currentLine.offset;		int segmentCount = currentLine.count;		int offset = 0;		Token tokens = currentLineTokens;		for(;;)		{			byte id = tokens.id;			if(id == Token.END)				break;			int length = tokens.length;			if(id == Token.NULL)			{				if(!defaultColor.equals(gfx.getColor()))					gfx.setColor(defaultColor);				if(!defaultFont.equals(gfx.getFont()))					gfx.setFont(defaultFont);			}			else				styles[id].setGraphicsFlags(gfx,defaultFont);			currentLine.count = length;			x = Utilities.drawTabbedText(currentLine,x,y,gfx,this,0);			currentLine.offset += length;			offset += length;			tokens = tokens.next;		}		if(eolMarkers)		{			gfx.setColor(eolMarkerColor);			gfx.drawString(".",x,y);		}		currentLine.offset = segmentOffset;		currentLine.count = segmentCount;	}