if(background != null)
if(tokenBackground != null)
	public float drawChars(char[] text, int off, int len, Graphics g,		float x, float y, TabExpander e, Color background)	{		// this probably should be moved elsewhere		if(background != null)		{			float width = charsWidth(text,off,len,g.getFont(),x,e);			FontMetrics fm = g.getFontMetrics();			float height = fm.getHeight();			float descent = fm.getDescent();			float leading = fm.getLeading();			g.setColor(background);			g.setXORMode(background);			g.fillRect((int)x,(int)(y - height + descent + leading),				(int)width,(int)height);			g.setPaintMode();		}		int flushLen = 0;		int flushIndex = off;		int end = off + len;		for(int i = off; i < end; i++)		{			if(text[i] == '\t')			{				if(flushLen > 0)				{					x += _drawChars(text,flushIndex,						flushLen,g,x,y);					flushLen = 0;				}				flushIndex = i + 1;				x = e.nextTabStop(x,i - off);			}			else				flushLen++;		}		if(flushLen > 0)			x += _drawChars(text,flushIndex,flushLen,g,x,y);		return x;	}