gc.setForeground(fColor);
if (fColor != null && !fColor.isDisposed()) gc.setForeground(fColor);
		public void paintControl(PaintEvent event) {				if (fActiveRegion == null)				return;				ISourceViewer viewer= getSourceViewer();			if (viewer == null)				return;							IRegion region= viewer.getVisibleRegion();						if (!includes(region, fActiveRegion))			 	return;		    			StyledText text= viewer.getTextWidget();			if (text == null || text.isDisposed())				return;						int offset= fActiveRegion.getOffset() -  region.getOffset();			int length= fActiveRegion.getLength();							// support for bidi			Point minLocation= getMinimumLocation(text, offset, length);			Point maxLocation= getMaximumLocation(text, offset, length);				int x1= minLocation.x;			int x2= minLocation.x + maxLocation.x - minLocation.x - 1;			int y= minLocation.y + text.getLineHeight() - 1;						GC gc= event.gc;			gc.setForeground(fColor);			gc.drawLine(x1, y, x2, y);		}